- An identifier is a name which is used to refer to a variable,
constant, function or type in C++. When necessary, an identifier may
have an internal structure which consists of a prefix, a name, and a
suffix (in that order).
- A class is a user-defined data type which consists of
data elements and functions which operate on that data. In C++, this
may be declared as a
class; it may also be declared as a
struct or a
union. Data defined in a class is
called member data and functions defined in a class are called
union is said
to be an abstract data type if it does not have any public or
protected member data.
- A structure is a user-defined type for which only public
data is specified.
- Public members of a class are member data and member
functions which are everywhere accessible by specifying an instance of
the class and the name.
- Protected members of a class are member data and member
functions which are accessible by specifying the name within member
functions of derived classes.
- A class template defines a family of classes. A new class
may be created from a class template by providing values for a number
of arguments. These values may be names of types or constant expressions.
- A function template defines a family of functions. A new
function may be created from a function template by providing values for
a number of arguments. These values may be names of types or constant
- An enumeration type is an explicitly declared set of symbolic
integral constants. In C++ it is declared as an
- A typedef is another name for a data type, specified in
C++ using a
- A reference is another name for a given variable. In C++, the
`address of' (
&) operator is used immediately after the
data type to indicate that the declared variable, constant, or function
argument is a reference.
- A macro is a name for a text string which is defined in a
#define statement. When this name appears in source code,
the compiler replaces it with the defined text string.
- A constructor is a function which initializes an object.
- A copy constructor is a constructor in which the first
argument is a reference to an object that has the same type as the object
to be initialized.
- A default constructor is a constructor which needs no
- An overloaded function name is a name which is used for
two or more functions or member functions having different types.
[The type of a function is given by its return type and the type
of its arguments.]
- An overridden member function is a member function in a base
class which is re-defined in a derived class. Such a member function is
- A pre-defined data type is a type which is defined in the
language itself, such as
- A user-defined data type is a type which is defined
by a programmer in a
or as an instantiation of a class template.
- A pure virtual function is a member function for which
no definition is provided. Pure virtual functions are specified in
abstract base classes and must be defined (overridden) in
- An accessor is a function which returns the value of a
- A forwarding function is a function which does nothing more
than call another function.
- A constant member function is a function which may not
modify data members.
- An exception is a run-time program anomaly that is detected
in a function or member function. Exception handling provides for the
uniform management of exceptions. When an exception is detected, it is
thrown (using a
throw expression) to the exception
- A catch clause is code that is executed when an exception
of a given type is raised. The definition of an exception handler begins
with the keyword
- An abstract base class is a class from which no objects
may be created; it is only used as a base class for the derivation of
other classes. A class is abstract if it includes at least one member
function that is declared as pure virtual.
- An iterator is an object which, when invoked, returns the
next object from a collection of objects.
- The scope of a name refers to the context in which it
[Context, here, means the functions or blocks in which a given
variable name can be used.]
- A compilation unit is the source code (after preprocessing)
that is submitted to a compiler for compilation (including syntax