Index
abstract 475
abstract classes 340, 457, 473
abstract data 8
abstract data type 194
abstraction 10
access permission 229
actual and formal arguments 154
address operator 35
advantages of inheritance 340
advantages of OOP 15
AI and expert systems 17
ALGOL68 1
allocation of memory 288
ampersand 401
anonymous objects 258, 283, 298
another class type 321
ANSI 2
applications with constructors 260
arrow 193
arrow operator 407
ASCII character 32
assembly language 445
assignment 108
assignment operator 333
associate left-to-right 108
associate right-to-left 108
binary operators 336
binding in C++ 457, 458, 459, 475
BIT fields 56
bool 126
break 136
buffering 23
bugs 152
byte code 17
C and C++ I/O functions 36
C increment operator ++ 1
C++ 15
CAD/CAM software 17
call by address 158
call by reference 158
call by value 158
callee functions 158
caller 158
calling constructors and destructors 258, 276
calling function 171
calling methods 276
char type 195
characteristics of constructors and destructors 260
characters 86
Charm ++ 15
cin 118
class instantiation 195
class member access operator 333
class pointers 406
client/server programming 17
clrscr( ) 118
COBOL 3
code reusability 153
comma in place of curly braces 76, 119
common constructor 340
compile 205
compound class 360
concrete classes 491
conditional 108
conditional constructor 278
conditional operator 332
console I/O 48
const 238
constant variable 169
constraint on increment and decrement operators 302, 312
constream 307
constructor 263, 269, 345, 351, 355
constructor and destructor with static members 258, 295
constructors and destructors 258, 259
constructors and virtual functions 457, 487
constructors with arguments 258, 264
constructors with default arguments 258, 269
containership 379
control statements 119
conversion from basic data type to user 336
conversion from class type to basic data type 323, 336
conversion from one class type to another class type 325, 337
cout 118
custom built I/O objects 68
data abstraction 10
data structure 8
debug 152
decision-making statements 125, 126
default 138
default arguments 152, 166, 269
default constructor 260, 261, 348
deference operator 399
definition of a function 154
delete 114, 442, 443, 449, 452
delete operator 290
dereferencing 110
derived type 86
destination stream 21
destructor 258, 274, 351, 355, 449
destructor and virtual functions 457, 490
disadvantages of inheritance 340
dissimilar data types 254
divide-and-conquer technique 153
dos.h 440
dot 193
double slash 117
dummy CPU 17
dynamic binding 13, 469, 475, 491
dynamic construction 298
dynamic destruction 298
dynamic initialization using constructors 258, 286
dynamic objects 452
dynamic operators and constructors 258, 288
empty classes 244
enum keyword 103
escape sequence 64
evolution of C++ 1
explicit call 265
external functions 6
far 441
flags without BIT field 59
flexible language 17
formatted and unformatted data 25
formatted console I/O operations 48
formatted input and output 48
FORTRAN 3
FP_OFF ( ) 440
FP_SEG( ) 440
free( ) 114
friend 229
friend function 189, 313, 314, 316, 318, 319, 335, 352
friends 350
function call delimiter/operator 333
function declarator 156
function definition 156
function inline 203
function prototype 154, 155, 166
functions 79
garbage memory 404
genericity 15
heap 443
hexadecimal format 35
hierarchical inheritance 340, 353
huge 441
if 126
if-else-if 138
implicit type conversion 102
implicit typecasting 99
inbuilt data types 102
independent objects 14
indirect recursion 249
information 86
inline function 152, 171, 189, 199, 204, 205
input/output functions 20
input and output in C++ 499
input stream 25
inputting default arguments 152, 170
instruction 171
interface 11
internal conversion 178
internet programming 17
ios 24
ios class 48
iostream library 20
iostream.h 24
ISO 2
istream 24
item 201
Java 15
Java compiler 17
jump statements 4
JVM 17
key concepts of object-oriented programming 7
keyword struct 91
keyword class or struct 291
late 469
late binding 458
literal constant 103
local variable 222
local vs global object 258, 297
long 97
loop statement 119
machine code 17
macros of C 172
main( ) as a constructor and destructor 258, 290
main( ) function in C and C++ 152
malloc( ) 446
manipulator with one parameter 65, 66
member function 14, 189, 199, 203, 255, 313, 341, 345, 346
member functions of istream class 44
member operator 332
memory address 171
memory dynamically 114
memory management operators 76, 114
memory variable 88
monolithic programming 4
multilevel inheritance 340, 353
multipath inheritance 340, 353, 365
multiple constructors 267
multiple conversion routines 336
multiple inheritance 25, 340, 353, 358
near 441
near pointers 439
nested derivation 352
network programming 17
new and delete operators 288
new operator 290
non-static objects 274
object as a class member 340
object code 17
object locator 163
object-oriented DBMS 17
object-oriented languages 15
object-oriented platform 20
object-oriented programming 7
object-oriented technology 2, 17
office automation software 17
one argument constructor 288
one argument constructor and operator function 302, 333
operator ( ) function 310
operator keyword 466
operator overloading 303
operators in C and C++ 76, 106
operators new and delete 260
ostream 24
output devices 20
output stream 27
overloaded constructor 286
overloading 246
overloading binary operators 302, 313
overloading binary operators using friend function 314
overloading binary operators using member function 313
overloading constructors 258, 266
overloading member function 189, 340
overloading operators 332
overloading stream operators 302, 334
overloading unary operators 307
overloading with friend function 302, 318
override 350
parameterized constructors 264
pointer 105, 388, 398, 404, 422
pointer of base class 460
pointer to derived class objects 457, 461
pointer to member operator 332
pointer variables 286
pointers and inheritance 340
polymorphism 12, 173, 303, 457, 469, 491
portability 17
postfix 424
postfix or prefix operation 312
precautions with function overloading 152, 181
precedence of operators in C++ 76, 108
pre-defined streams 22
preprocessor directive 153
preprocessor symbols 332
principles of function overloading 152, 176
private constructors and destructors 258, 285
private function 202
private inheritance 340, 346, 347
procedure oriented languages 3
procedures or subroutines 3
program execution before main( ) 258, 293
programming paradigms 4
promotion 102
propagandized 391
protected 198
prototype of operator functions 305
public keyword 196
public member function 346
public members 346
pure virtual functions 457, 471
qualifier and nested classes 258, 280
qualifier classes and inheritance 340
recursion 298
recursive constructor 258, 291
recursive member function 189
referencing 110
referencing (&) and dereferencing (*) operators 76
releasing memory 288
return 204
return( ) 136
returning more values by reference 152, 165
rules for overloading operators 302, 331
rules for virtual functions 457
run-time 84
RValues (right values) 163
scope access 108
scope access operator 76, 113, 297, 332
scope of the statement 119
semi-colon 117
set_new_handler 446
short 97
signed 97
simple inheritance 340, 341, 352
SIMULA67 1
single inheritance 340, 353, 354
single step 293
size of operator 332
sizeof( ) 114
smalltalk 15
source program 17
source stream 21
special character 78
stack 445
standard I/O objects 22
static binding 491
static data member 296
static member functions 255
stepwise 293
stream classes 24
streambuf 25
streams in C++ 21
strlen( ) function 128
struct keyword 196
structured programming 5
subscripting operator 333
subtraction of two objects 331
swapping messages 14
symbolic constant 103
symbols 86
syntaxes of the language 77
system software 17
the continue statement 125, 137
the for loop 125
the if-else statement 125, 128
the nested if-else statement 125, 130
the nested switch( ) case statement 125, 141
the switch case statement 125, 138
the void data type 76
this pointer 411
to downward 134
tokens 78
triangular number 292
two-argument constructor 288
typecasting 76
typecasting with cout statement 31
typecast operator 99
typedef 223
types of inheritances 340
types of tokens 78
unary 108
unary ++ operator 307
unformatted console I/O operations 25
union variable number 94
unsigned 97
usage of C++ 17
usage of OOP 17
user-defined data type 76, 91, 321
user-defined manipulators 63
user-defined output functions 48
user-defined type 86
variables 78
virtual base classes 340
virtual class 25
virtual destructors 457, 488, 489
virtual function 457, 459, 465, 466, 472, 473, 491
virtual functions in derived classes 457, 483
virtual keyword 460
void data type 86
void operator 305
void pointers 402
vtable 483
wild pointer 404
working of virtual functions 457, 475
zero-argument constructor 288
3.145.66.94