c++ - 我可以从基类调用派生类构造函数吗?
问题描述
如果我有一个基类。
class Base{
...
};
和一个派生类
class Derived : public Base{
...
}
如果我只包含基类,我可以从 main() 类调用派生类构造函数吗?
澄清我的意思。我可以这样做吗?
#include "Base.h"
int main(){
Derived d;
}
注意:我能找到的唯一答案是我是否可以从 Derived 类调用 Base 构造函数,但我想做相反的事情。
我只包括“Base.h”。我是否必须包含“Derived.h”才能调用构造函数?如果我在一个超类下有 150 个子类怎么办?我必须包括每一个吗?
解决方案
您不能从基类调用派生类构造函数。基类甚至不知道派生类是否存在。