C++继承和组合的初始化顺序
include
//
class Base {
public:
Base() {
std::cout << "base" << std::endl;
}
};
class Ca {
public:
Ca() {
std::cout << "ca" << std::endl;
}
};
//初始化顺序
//1.基类 2.成员
class Cb:Base {
public:
Cb() {
std::cout << "cb" << std::endl;
}
private:
Ca a;
};
int main()
{
Cb b;
std::cout << "Hello World!\n";
}
//output
base
ca
cb
Hello World!