成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

C++中賦值函數(shù)和拷貝構(gòu)造函數(shù)(舉例說明)

拷貝構(gòu)造函數(shù)發(fā)生在對(duì)象還沒有創(chuàng)建,需要?jiǎng)?chuàng)建時(shí)

創(chuàng)新互聯(lián)建站是一家專業(yè)提供欒川企業(yè)網(wǎng)站建設(shè),專注與網(wǎng)站制作、成都網(wǎng)站制作、H5場(chǎng)景定制、小程序制作等業(yè)務(wù)。10年已為欒川眾多企業(yè)、政府機(jī)構(gòu)等服務(wù)。創(chuàng)新互聯(lián)專業(yè)的建站公司優(yōu)惠進(jìn)行中。

如:   MyClass obj1(1);  

            MyClassobj3 = obj1;

賦值操作符重載僅發(fā)生在對(duì)象已經(jīng)執(zhí)行過構(gòu)造函數(shù),即已經(jīng)創(chuàng)建的情況下

如:

                 MyClass obj1(1);

                 MyClass obj3;

                obj3 = obj1;

具體代碼如下:

class MyClass

{

public:

                MyClass( int i = 0)

                {

                                cout << i;

                }

                MyClass( const MyClass &x)

                {

                                cout << 2;

                }

                 MyClass &operator=(const MyClass & x)

                {

                                cout << 3;

                                 return *this ;

                }

                ~MyClass()

                {

                                cout << 4;

                }

};

int main()

{

                 MyClass obj1(1);

                 MyClass  obj2(2);

                 MyClass obj3;

                obj3 = obj1;

                 return 0;

}

輸出:1203444

先創(chuàng)建對(duì)象obj1,調(diào)用構(gòu)造函數(shù)并初始化為1,輸出1

再創(chuàng)建對(duì)象obj2,調(diào)用構(gòu)造函數(shù)并初始化為2,輸出2

創(chuàng)建對(duì)象obj3,調(diào)用構(gòu)造函數(shù),使用默認(rèn)值為0,輸出0

obj1賦值給obj3時(shí),調(diào)用賦值函數(shù),輸出3

再依次析構(gòu),析構(gòu)的順序和調(diào)用構(gòu)造的順序相反

先析構(gòu)obj3,在析構(gòu)obj2,最后析構(gòu)obj1


class MyClass

{

public:

                MyClass( int i = 0)

                {

                                cout << i;

                }

                MyClass( const MyClass &x)

                {

                                cout << 2;

                }

                 MyClass &operator=(const MyClass & x)

                {

                                cout << 3;

                                 return *this ;

                }

                ~MyClass()

                {

                                cout << 4;

                }

};

int main()

{

                 MyClass obj1(1);

                 MyClass   obj2(2);

                 MyClass obj3 = obj1;

                 return 0;

}



輸出:122444

依次創(chuàng)建對(duì)象obj1,obj2,調(diào)用兩次構(gòu)造,分別輸出初始化的值1,2

MyClass obj3 = obj1;由于賦值的時(shí)候obj3還沒有創(chuàng)建,所以會(huì)調(diào)用拷貝構(gòu)造函數(shù),輸出2

再依次析構(gòu)三個(gè)對(duì)象

本文題目:C++中賦值函數(shù)和拷貝構(gòu)造函數(shù)(舉例說明)
文章轉(zhuǎn)載:http://jinyejixie.com/article24/iiecce.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站維護(hù)、全網(wǎng)營(yíng)銷推廣、網(wǎng)站策劃、網(wǎng)站建設(shè)、品牌網(wǎng)站設(shè)計(jì)、動(dòng)態(tài)網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

搜索引擎優(yōu)化
沈丘县| 陇川县| 蓬安县| 黑龙江省| 墨江| 东光县| 会同县| 灵寿县| 都昌县| 江口县| 萨迦县| 新疆| 大英县| 离岛区| 灵璧县| 汝阳县| 日喀则市| 香河县| 太谷县| 景宁| 白沙| 兴山县| 大丰市| 彩票| 嘉禾县| 邵武市| 三河市| 钟山县| 巴林右旗| 丰都县| 沙河市| 随州市| SHOW| 达州市| 卢湾区| 威远县| 航空| 广灵县| 建昌县| 吉安县| 兴宁市|