Skip to content

C+, C++ Programming with Objects in C and C++

Best in textbook rentals since 2012!

ISBN-10: 0070296626

ISBN-13: 9780070296626

Edition: N/A

Authors: Allen I. Holub

List price: $29.95
Blue ribbon 30 day, 100% satisfaction guarantee!
what's this?
Rush Rewards U
Members Receive:
Carrot Coin icon
XP icon
You have reached 400 XP and carrot coins. That is the daily max!

Description:

This book provides instruction for using C in an object-oriented fashion. The book covers the problems likely to arise in a C++ application, explains why C++ is inappropriate for some object-oriented applications, and shows how to do real object-oriented programming (based on a multitasking model) in a C or C++ environment.
Customers also bought

Book details

List price: $29.95
Publisher: McGraw-Hill Companies, The
Binding: Paperback
Size: 7.50" wide x 9.25" long x 1.25" tall
Weight: 1.694
Language: English

Prefacep. xi
Object-Oriented Programming in Cp. 1
Data Abstractionp. 2
Objects and Messagesp. 3
OOP-Flavored Data Abstractionp. 3
Classes and Objectsp. 5
Implementing Messages and Objectsp. 6
Inheritancep. 8
Polymorphism and Virtual Functionsp. 12
Abstract Types and Code Reusep. 14
Class Hierarchies and Inheritancep. 18
Single Inheritancep. 18
Multiple Inheritancep. 19
A Few Class-Hierarchy Design Issuesp. 20
Extensibility: Expanding the Language Definitionp. 24
Case Study: Making malloc () Safe for Democracyp. 31
Case Study: A Linked-List Class in Cp. 39
List-Element-Manipulation Methodsp. 39
Class Derivation: Element Creation and Deletionp. 45
List-Manipulation Methodsp. 48
List Creation and Destructionp. 48
Finding List Elementsp. 49
Duplicating and Copying Listsp. 49
Adding and Removing List Elementsp. 50
Printing the Listp. 51
Implementing the List Classp. 51
Class Definitionsp. 51
Function Macrosp. 55
List and List-Element Destructionp. 56
List and List-Element Creationp. 57
Finding List Elementsp. 59
Adding and Removing List Elementsp. 61
Duplicating and Copying Listsp. 62
Printing the Listp. 62
C++: Small Differences from Cp. 67
New Keywordsp. 68
End-of-Line Commentsp. 68
The Scope Operator (::)p. 69
The const Storage Classp. 69
The volatile Storage Classp. 73
The inline Storage Classp. 75
The char Typep. 77
NULL and Zerop. 77
void Pointersp. 77
struct and unionp. 78
Variable Declarationsp. 80
Dynamic-Memory Allocationp. 82
Function Prototypes and Forward Referencesp. 84
Default Argumentsp. 84
Function Definitionsp. 85
Function Pointersp. 87
Function Overloadingp. 88
Function Templatesp. 93
Type-Safe Linkagep. 97
Referencesp. 100
Reference Variablesp. 100
Reference Argumentsp. 102
Returning Referencesp. 104
Problems with Referencesp. 106
I/O Streamsp. 108
Simple Classesp. 112
Classes as Black Boxesp. 112
Member-Function (Method) Definitionsp. 113
Accessing Members: The this Pointerp. 115
Access Protectionp. 119
Constructorsp. 120
The Default Constructorp. 121
The Copy Constructorp. 122
Type-Conversion Constructorsp. 125
Type-Conversion Default Constructorsp. 129
Constructors with Multiple Argumentsp. 132
Constructors and Control Flowp. 132
Constructors and unionsp. 133
Destructorsp. 134
Arrays of Objectsp. 136
static Member Data and Functionsp. 137
const Member Data and Member-Initialization Listsp. 139
Designating Member Functions for const Objectsp. 142
A Very Simple Example: The tracer Classp. 144
Operator Overloadingp. 148
General Considerations in Operator Overloadingp. 148
Operator-Overload Definitionsp. 150
Type Conversion and Operator Overloadsp. 152
The operator++ () Functionp. 156
The operator () () and operator-] () Functionsp. 156
Lvalues and Rvaluesp. 157
Generated Temporariesp. 160
Operators That Generate Lvaluesp. 161
Assignment Overloadsp. 163
Operators That Generate Rvaluesp. 165
The Scope of a Temporaryp. 171
Friendsp. 175
A Fixed-Point Arithmetic Packagep. 180
A Random-Number Classp. 185
Accessing Two-Dimensional Types with operator () ()p. 188
Auxiliary Classesp. 189
Accessing Two-Dimensional Types with operator [] ()p. 189
A Virtual-Memory Paging Systemp. 192
Implementing Variant Recordsp. 199
Overloading new and deletep. 206
Derivationp. 216
Relationships between Classesp. 217
Instance Variablesp. 220
Object Copying and Instance Variablesp. 223
Inheritance and Derived Classesp. 231
Type Conversion and Derived Classesp. 235
Multiple Inheritancep. 236
Initialization and Copying under Derivationp. 239
Nested Classesp. 244
Class Scopep. 246
Inheritance and new and delete Overloadsp. 250
Virtual Base Classesp. 252
Polymorphism and Virtual Functionsp. 257
Virtual Functions at the Implementation Levelp. 257
Virtual Functions: Basic Usep. 262
When to Use Virtual Functionsp. 275
Static Binding and Virtual Functionsp. 276
Problems with a Default virtual in Derived Classesp. 277
Virtual Constructors and Destructorsp. 278
Agreement between Base and Derived-Class Definitionsp. 281
Implementing a typeof () Functionp. 284
A Few More Implementation Issuesp. 287
Private Base Classesp. 288
Member Pointersp. 303
Container Classes and Templatesp. 311
An Example Class Libraryp. 322
Using the Collection Classesp. 322
The Collection Template Classesp. 323
The collection-Class Hierarchyp. 325
The lnode[type] and lnode c[cls] Templatesp. 328
The node and list node Classesp. 331
The collection Classp. 334
Refining and Simplifying the collection Interfacep. 343
Iteratorsp. 348
Implementing the collection Classp. 349
Preprocessor Directivesp. 349
The collection Definitionp. 350
Implementing the node Classp. 360
Implementing the node iterator Classp. 366
Implementing the list node Classp. 370
Implementing the lnode[type] Templatep. 376
Implementing lnode c[type]p. 383
Implementing iterator[type] and iterator c[cls]p. 383
Implementing the Stack Classes and Templatesp. 388
The Queue Classes and Templatesp. 394
Implementing the Array Classesp. 399
Conclusionp. 403
Exception Handlingp. 408
Bibliographyp. 418
Indexp. 419
Table of Contents provided by Syndetics. All Rights Reserved.