class Object
{
protected:
char Name[5]{};
public:
Object()
{
std::cout << "Object is created" << std::endl;
}
};
class seeObject:protected Object
{
public:
int x;
seeObject()
{
std::cout << "seeObject is created" << std::endl;
}
};
class creature:protected seeObject
{
protected:
int hp;
public:
creature()
{
std::cout << "creature is created" << std::endl;
}
};
不是说继承不会继承构造函数吗
为什么这里创建一个creature实例后,会输出三个语句呢?
子类用默认无参的构造方法实例化时,会先要调父类的默认无参的构造方法进行实例化,父类再调用它的父类的。
所以你看到的是输出的三个类的无参构造函数中的内容。