home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Turbo Toolbox
/
Turbo_Toolbox.iso
/
dtx9202
/
borhot
/
c.cpp
< prev
next >
Wrap
C/C++ Source or Header
|
1992-01-06
|
3KB
|
83 lines
/* ------------------------------------------------------ */
/* C.CPP */
/* Member Data Initialization Using Constructor */
/* Initialization List */
/* (c) 1990 Borland International */
/* All rights reserved. */
/* ------------------------------------------------------ */
/* veröffentlicht in: DOS toolbox 2'92 */
/* ------------------------------------------------------ */
/*
The following code demonstrates the initialization of a
class's member data by using the initialization list of a
class constructor. It also shows how to call a base class
constructor from a derived class.
Since this code uses floating point, be sure to have
floating point emulations enabled (IDE) or include
EMU.LIB and MATHx.LIB at the appropriate location in the
TLINK command line.
*/
#include <iostream.h>
#define HUND 100
class base {
public:
base() {
cout << "in base\n";
}
};
class derive : public base {
int x, z;
float y;
public:
// Note that the initialization list comes AFTER the
// contructors formal arguments and a colon. Each
// variable name is followed by an initial value in
// parenthese. Each variable is separated from the next
// by a comma. The value in the parenthese can be either
// a variable from the constructor parameter list,
// a value, an expression that results in a value, or a
// constant.
// At the end of the initialization list is the call to
// the base class constructor. In this example, parameters
// are not passed, however, parameters may be passed and
// they may consist of a variable from the derived
// constructor parameter list, a value, an expression that
// results in a value, or a constant.
// A private or public member of the base class cannot be
// initialized by the initialization list of the derived
// constructor.
//initialization list...Call to base constructor
derive(int a) : x(a*a), z(HUND), y(4.33), base()
{
cout << "in derive\n";
}
void show(void) {
cout << "x is " << x;
cout << "\nz is " << z;
cout << "\ny is " << y;
}
};
// ------------------------------------------------------- *
int main()
{
derive dd(3);
dd.show();
return 0;
} // end of main()
/* ------------------------------------------------------ */
/* Ende von C.CPP */