本文共 813 字,大约阅读时间需要 2 分钟。
成员对象:当一个类的成员是另一个类的对象时,这个对象就叫成员对象。
1、出现成员对象时,如果成员对象的构造函数是有参构造函数,则该类的初始化列表需要对成员对象进行初始化。
class Member{ private: int i; public: Member(int i) { this->i = i; }};class Test{ private: Member member; public: Test(): member(1) { }};
2、一个有成员对象的类实例化时要先调用成员对象的构造函数,然后再调用该类的构造函数,析构时先调用该类的析构函数,再调用成员对象的析构函数。
#includeclass Member{public: Member() { std::cout << "Member构造函数" << std::endl; } ~Member() { std::cout << "Member析构函数" << std::endl; }};class Test{private: Member member;public: Test() { std::cout << "Test构造函数" << std::endl; } ~Test() { std::cout << "Test析构函数" << std::endl; }};int main(){ Test* test = new Test(); delete test; return 0;}
运行结果:
Member构造函数Test构造函数Test析构函数Member析构函数
转载地址:http://dwjmb.baihongyu.com/