#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++派生类构造函数调用顺序
最新推荐文章于 2024-04-26 16:31:02 发布