【发布时间】:2012-11-06 22:11:45
【问题描述】:
如果我有一个基类:
class Base{
...
};
还有一个派生类
class Derived : public Base{
...
}
这个派生类是否总是调用基类的默认构造函数?即不带参数的构造函数?例如如果我为基类定义一个构造函数:
Base(int newValue);
但是我没有定义默认构造函数(无参构造函数):
Base();
(我知道这只是一个声明而不是定义) 我得到一个错误,直到我定义了不带参数的默认构造函数。这是因为基类的默认构造函数是被派生类调用的吗?
【问题讨论】:
-
您可以通过使基类中的默认构造函数打印屏幕独有的内容来进行检查。这是检查此类内容的好方法,您可以从中学习!
标签: c++ inheritance constructor derived-class base-class