#include<iostream> using namespace std; class A { private: int i; public: A(int i); ~A(); void set(int i); }; A::A(int i):i(i) { cout <<"this is A()!"<<i<<endl; } void A::set(int ii) { i=ii; } A::~A( ) { cout <<"this is ~A()!"<<i<<endl; } class test { private: int i; public: A x; test(int ); ~test(); void set(int ii); }; void test::set(int ii) { i=ii; x.set(ii*ii); } test::test(int ii):i(ii) ,x(ii*ii) { cout<<"this is test()"<<i<<endl; } test::~test() { cout<<"this is ~test()"<<i<<endl; } int main () { test t1(10); return 0; } /**** 使用对象组合后,在初始化新类之前,应该先初始化它的成员对象。 要初始化成员对象,就应该调用它的构造函数, 使用构造函数初始化列表!它相当于是一个伪的构造函数的现实调用。 *****/
对象组合
最新推荐文章于 2021-11-20 16:07:14 发布