同一类中相互调用
class Person {
public:
int m_age;
int m_id;
Person() {
Person(10, 20);
}
Person(int age,int id) {
this->m_age = age;
this->m_id = id;
}
};
Person(10, 20);
0084206D push 14h
0084206F push 0Ah
00842071 lea ecx,[ebp-0D8h]
00842077 call std::endl<char,std::char_traits<char> > (08414F6h)
class Person {
public:
int m_age;
int m_id;
Person():Person(10,20) {
}
Person(int age,int id) {
this->m_age = age;
this->m_id = id;
}
};
0048206D push 14h
0048206F push 0Ah
00482071 mov ecx,dword ptr [this]
00482074 call std::endl<char,std::char_traits<char> > (04814F6h)
子类调用父类构造函数
- 子类的构造函数默认会调用父类的无参构造函数
- 子类构造函数也可以显示调用父类的有参构造函数。如果父类缺少无参构造函数,子类必须显示调用父类的有参构造函数
- 如果父类什么构造函数都没有,则不会调用
构造析构顺序
总结