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!

posted @ 2021-11-30 10:31  iwetuan  阅读(75)  评论(0编辑  收藏  举报