题目:定义一个基类BaseClass,有整型成员变量Number,构造其派生类DerivedClass,观察构造函数和析构函数的执行情况。
代码如下:
/*定义一个基类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;
}