Inside the Object Model: The Sensible Use of C++

Front Cover
Cambridge University Press, 1995 - Computers - 522 pages
Inside the Object Model serves two key functions: it teaches object-oriented analysis and design from first principles and clearly explains C++ mechanisms that implement object-oriented concepts. Drawing on nearly ten years of programming and teaching experience, Papurt thoroughly describes the relationship between the basic principles and concerns of object modeling and the C++ programming language. Each chapter uses independent examples to illustrate key concepts described in the text and features helpful icons that clearly identify important ideas and dangerous pitfalls. With over 100 figures, hundreds of working code examples, and comparisons of coding techniques, this book rewards teh reader with a complete understanding of both C++ and the object model. Professional software analysts, designers, programmers, and advanced computer science students will benefit from reading this book.
 

What people are saying - Write a review

We haven't found any reviews in the usual places.

Selected pages

Contents

Introduction
1
11 Text Organization
2
12 Language Design Goals
4
13 Text Goals
5
Program Structure
7
22 Header File Structure
10
23 Simple Terminal Input and Output
19
24 Summary
24
106 Summary
215
107 References
216
Representation Invariant and Copy Semantics
217
111 Representation Invariant
218
112 A Class Canonical Form
228
113 Copy Semantics
231
114 Reference Counting
245
115 Summary
250

The C Language Subset
25
32 Base Language Improvements
34
33 Summary
44
Type Abstract Data Type and Class
45
41 The Object Model
46
42 Programming Abstract Data Types
54
43 Class
58
44 Summary
83
Attributes Simple Associations and Composition
85
52 Composition
99
53 Summary
110
54 References
111
Immutability and New BuiltIn Types
113
62 Const Type Modifier
116
63 Reference Type Modifier
128
64 Summary
138
Object Persistence and the Object Life Cycle
139
72 Automatic Persistence
142
73 Static Persistence
143
74 Dynamic Persistence
145
75 Summary
156
Information Access Control
157
81 Violation of Information Hiding Friendship
158
82 Shared Class Information Static Members
166
83 Nested Classes
169
84 Summary
173
85 References
174
Expression Evaluation and Operator Overloading
175
91 A Model of Expression Evaluation
176
92 Operator Overloading
183
93 Sensible Application
192
94 Summary
200
Type Mismatch Resolution
201
102 Nonautomatic Type Mismatch Resolution
203
103 Function as Mapping
206
104 Automatic Type Conversion
207
105 Operator OverloadingSensible Application
211
116 References
251
Advanced Associations and PointerBased Implementation
253
121 The Object Model
254
122 Association Implementation Member Type Alternatives
260
123 OnetoOne Association Implementation
261
124 Collections
273
125 OnetoMany Association Implementation
286
126 ManytoMany Association Implementation
297
127 Summary
308
128 References
309
Generalization and Inheritance
311
132 Public Inheritance
326
133 Private Inheritance
345
134 Association Implementation
350
135 Summary
364
Polymorphism and RunTime Binding
365
142 Limitation of Static Binding
370
143 RunTime Binding
372
144 Sensible Application
393
145 Summary
411
146 References
412
Metatype Parameterized Type and Templates
413
152 Parameterized Types
422
153 Function Templates
425
154 Class Templates
436
155 Association Implementation
458
156 Summary
476
Exception Handling
479
162 Exception Response via Standard Control Flow
482
163 Long Return
484
164 C++ Exception Handling
486
165 Perspectives on Exception Handling
499
166 Resource Management
501
167 Unhandled Exceptions
506
168 Summary
510
Index
511
Copyright

Common terms and phrases

Bibliographic information