题目:定义一个基类BaseClass,有整型成员变量Number,构造其派生类DerivedClass,观察构造函数和析构函数的执行状况。
代码以下:ios
/*定义一个基类BaseClass,有整型成员变量Number,构造其派生类DerivedClass,观察构造函数和析构函数的执行状况。*/ #include <iostream> using namespace std; //如下是类的声明 class baseclass { public: int number; int getage() { return i1; } baseclass() { cout<<"baseclass类的默认构造函数\n";i1=0; cout<<"i1:"<<getage()<<endl; } baseclass(int i,int j) { cout<<"baseclass类的有参构造函数\n";i1=i; cout<<"i1:"<<getage()<<endl; } baseclass(baseclass&b1) { cout<<"baseclass类的拷贝构造函数\n";i1=b1.i1; cout<<"i1:"<<getage()<<endl; } ~baseclass() { cout<<"baseclass类的析构函数\n";} private: int i1; }; class derivedclass:public baseclass { public: derivedclass() { cout<<"derivedclass类的默认构造函数\n";i2=0; cout<<"i2:"<<getage()<<endl; } derivedclass(int i,int j):baseclass(i,j) { cout<<"derivedclass类的有参构造函数\n";i2=j; cout<<"i2:"<<getage()<<endl; } derivedclass(derivedclass&d1):baseclass(d1) { cout<<"derivedclass类的拷贝构造函数\n";i2=d1.i2; cout<<"i2:"<<getage()<<endl; } ~derivedclass() { cout<<"derivedclass类的析构函数\n";} private: int i2; }; int main() { derivedclass D; derivedclass D2=D; derivedclass D3(1,3); return 0; }