首页 > 解决方案 > 我可以从基类调用派生类构造函数吗?

问题描述

如果我有一个基类。

class Base{
   ...
};

和一个派生类

class Derived : public Base{
   ...
}

如果我只包含基类,我可以从 main() 类调用派生类构造函数吗?

澄清我的意思。我可以这样做吗?

#include "Base.h"

int main(){
  Derived d;
}

注意:我能找到的唯一答案是我是否可以从 Derived 类调用 Base 构造函数,但我想做相反的事情。

我只包括“Base.h”。我是否必须包含“Derived.h”才能调用构造函数?如果我在一个超类下有 150 个子类怎么办?我必须包括每一个吗?

标签: c++

解决方案


您不能从基类调用派生类构造函数。基类甚至不知道派生类是否存在。


推荐阅读