#include <iostream>
#include <string>
#include <memory>
using namespace std;
class Base
{
public:
Base() { cout << __PRETTY_FUNCTION__ << endl; }
Base(string s) { cout << __PRETTY_FUNCTION__ << endl; }
virtual ~Base() { cout << __PRETTY_FUNCTION__ << endl; }
};
class Member
{
public:
Member() { cout << __PRETTY_FUNCTION__ << endl; }
Member(string s) :s_(s) { cout << __PRETTY_FUNCTION__ << ":" << s_ << endl; }
~Member(){ cout << __PRETTY_FUNCTION__ << ":" << s_ << endl; }
private:
string s_;
};
class Derived: public Base
{
public:
Derived() : b("bbb"), a("aaa")
{ cout << __PRETTY_FUNCTION__ << endl; }
~Derived() { cout << __PRETTY_FUNCTION__ << endl; }
private:
Member a;
Member b;
};
int
C++派生类构造函数调用顺序
最新推荐文章于 2020-10-03 08:58:07 发布
![](https://img-home.csdnimg.cn/images/20240711042549.png)