复合对象的构造和析构顺序
来源:互联网 发布:济南公交线路查询软件 编辑:程序博客网 时间:2024/05/10 14:30
class A{public:A(){ cout << "A()" <<endl;};~A(){ cout << "~A()" <<endl;};A(A& other){cout << "A copy function" <<endl; }A& operator = (A& other){cout << "A operator =" <<endl; return *this;}};class T{public: T(){ cout << "T()" <<endl;}~T(){ cout << "~T()" <<endl;} void setA(A a){ //4 _a = a; //5//6}public:A _a; //2 构造T的对象t时,先构造成员变量_a};void main(){ A a; //1 构造aT t; //3 构造tt.setA(a); //7 T生命周期结束//8 T内部_a生命周期结束//9 a生命周期结束}/*A() // 1 构造aA() // 2 构造T的对象t时,先构造成员变量_aT() // 3 构造tA copy function // 4 构造setA中的参数A a时,调用copy functionA operator = // 5 在setA中赋值时调用operator =运算符~A() // 6 析构setA中参数传过来的对象a~T() // 7 析构对象t~A() // 8 析构T对象t中的_a~A() // 9 析构a*/总结:为了构造T对象,由2得出,先构造的是数据成员_a这个对象。但是带有模板的并不会构造,是不太一样的,构造时机是赋值时调用拷贝构造函数。
0 0
- 复合对象的构造和析构顺序
- c++对象成员变量的构造和析构顺序
- [C++]多个对象构造、析构、构造和析构的顺序
- static对象和非static对象构造和析构顺序的问题
- 对象构造的顺序
- 对象的构造顺序
- 构造和析构的顺序
- 构造和析构的顺序
- 子对象构造函数和析构函数的调用顺序
- 建立不同类型对象时,构造函数和析构函数的调用顺序
- C++ 构造,析构顺序(静态对象)
- C++ 构造函数的构造顺序和析构函数的析构顺序
- 建立全局和局部对象时,不同的构造函数和析构函数的调用顺序
- c++中,类 和 类中成员(对象)的构造函数和析构函数的执行顺序
- C++的对象构造顺序
- Java对象的构造顺序
- C++对象的构造顺序
- 21-对象的构造顺序
- Oracle学习(九)之删除日志组和日志文件
- Back to the Basics! Essentials of Modern C++ Style
- Using Machine Learning to Name Malware
- 跟上节奏 大数据时代十大必备IT技能
- opendns安全研究成果
- 复合对象的构造和析构顺序
- Hashtable、HashMap和TreeMap的区别
- 并行计算圆周率
- android 布局padding的使用
- Modbus通讯协议学习 - 认识篇
- Holiday's Accommodation
- Freemarker
- HTTP 错误 500.21 - Internal Server Error
- 第12周项目3-日期时间类