一道题看完你就懂了***《看代码注释即可》***
直接上题目:
代码:
#include<iostream>
#include<stdlib.h>
using namespace std;
class Cat
{
int data;
public:
Cat()
{
data =0;
cout << "Default Constructor of Cat is Running"<<endl;
}
Cat(int x)
{
data = x;
cout << "Constructor of Cat is Running " << x<<endl;
}
~Cat()
{
cout << "Destructor of Cat is Running " << data << endl;
}
};
class Tiger : public Cat
{
int data;
public:
//子类继承会默认调用父类的无参构造函数,
//所以这里显示调用父类的有参构造
Tiger(int x): Cat(x)
{
data = x;
cout << "Constructor of Tiger is Running " << x << endl;
}
~Tiger()
{
cout << "Destructor of Tiger is Running " << data << endl;
}
};
int main()
{
Cat bc;
Tiger dc(6);
Tiger dc1(18);
return 0;
}