#include <iostream>
class A{
public:
A(){
std::cout << "A ctor" << std::endl;
}
~A(){
std::cout << "A dtor" << std::endl;
}
};
class B{
public:
B(){
std::cout << "B ctor" << std::endl;
}
~B(){
std::cout << "B dtor" << std::endl;
}
};
class C: public B{
private:
A _a;
public:
C(){
std::cout << "C ctor" << std::endl;
}
~C(){
std::cout << "C dtor" << std::endl;
}
};
int main(int argc, char* argv[]){
C c;
return 0;
}
/*
B ctor
A ctor
C ctor
-------
C dtor
A dtor
B dtor
*/
C++ 构造析构的顺序
最新推荐文章于 2024-08-05 17:28:00 发布