【发布时间】:2014-02-14 16:32:38
【问题描述】:
我想知道我是否只在派生类中声明(而不是定义)默认构造函数,为什么在创建派生类的对象时不调用基类构造函数?
仅声明默认构造函数也是一种常见的做法吗?如果是,它们的优点是什么?
class A
{
private:
A() {}
}
class B : public A
{
B();
}
不会给出编译错误,但是
class B : public A
{
B() {}
}
给出错误:- 在构造函数 B::B() 中:错误:A::A() 是私有的。
这样做的理由是什么?
【问题讨论】:
-
查看问题的答案:stackoverflow.com/questions/120876/… 虽然我知道它不是默认构造函数,但它可能会提供一些关于构造函数调用的见解。
标签: c++ constructor