我在哪里可以在标准 (C++14) 中找到一个子句,该子句说明具有空mem-initializer-list和空主体的用户定义默认构造函数为每个基类和每个成员子对象调用默认构造函数. 例如考虑下面的代码:
#include <iostream>
class A{
public:
A() {std::cout << "A" << '\n'; }
};
class Base{
public:
Base() { std::cout << "Base" << '\n'; }
};
class Derived : public Base {
A a;
public:
Derived() {}
};
int main()
{
Derived d;
}
两者的构造函数Base
都由A
用户声明的构造函数调用,该构造函数Derived()
带有一个空的 mem-initializer-list 和一个空的主体。