[C++]匿名對象

#include <iostream>
using namespace std;
//匿名對象可以理解爲是一個臨時對象,一般系統自動生成的
//如你的函數返回一個對象,這個對象在返回時會生成一個臨時對象。

//1)匿名對象生命週期
//2)匿名對象的去和留

class Test{
public:
Test(){
cout << "我是構造函數..." << endl;
}

Test(Test &obj){
cout << "拷貝構造函數..." << endl;
}

~Test(){
cout << "我是析構函數..." << endl;
}
};

void Play(){

Test(); //無參構造函數生成了一個匿名Test類對象
//執行完後,外部沒有接此匿名對象的變量,此匿名又被析構了
Test t1 = Test();
//無參構造函數生成了一個匿名Test類對象;
//然後將此匿名變成了t1這個實例對象,此匿名對象沒有被析構
cout << "觀察析構..." << endl;
}
int main()
{
Play();
getchar();
return 0;
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章