gpt4 book ai didi

c++ - 提供基类构造函数

转载 作者:太空狗 更新时间:2023-10-29 21:34:20 25 4
gpt4 key购买 nike

是否有必要始终为您的基类提供构造函数?例如,如果我有以下基类,然后是一些派生类。

class Animal
{
public:

//Is this constructor necessary?
Animal();

virtual ~Animal();
};

class Zebra: public Animal
{
public:
Zebra();
~Zebra();
};

class Elephant: public Animal
{
public:
Elephant();
~Elephant();
};

假设我正在创建 Animal 指针,然后动态分配新的 Zebra 和 Elephant 对象。如果我从未打算创建一个 Animal 对象,那么是否真的需要显式创建一个 Animal 构造函数?

最佳答案

您不需要显式提供构造函数。生成一个默认构造函数(如果您不提供其他构造函数)。

所以

class Animal
{
public:

virtual ~Animal();
};

足够了。

派生类构造函数将调用基类构造函数(显式或隐式)。

关于c++ - 提供基类构造函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46943803/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com