C++構(gòu)造函數(shù),析構(gòu)函數(shù),拷貝構(gòu)造函數(shù)初識(shí)

//
//  main.cpp
//  拷貝構(gòu)造函數(shù)
//
//  Created by Eric on 16/7/20.
//  Copyright ? 2016年 Eric. All rights reserved.
//

#include <iostream>
using namespace std;

/**
 *  3.拷貝構(gòu)造函數(shù)調(diào)用的三種形式
 3.1.一個(gè)對(duì)象作為函數(shù)參數(shù)铸豁,以值傳遞的方式傳入函數(shù)體麻削;
 3.2.一個(gè)對(duì)象作為函數(shù)返回值割择,以值傳遞的方式從函數(shù)返回块攒; 
 3.3.一個(gè)對(duì)象用于給另外一個(gè)對(duì)象進(jìn)行初始化(常稱為復(fù)制初始化)耸彪。
 */

/**
 *  當(dāng)產(chǎn)生新對(duì)象碌上,用已有對(duì)象去初始化新對(duì)象時(shí)才會(huì)調(diào)用拷貝構(gòu)造函數(shù)
 */

class Location
{
public:
    /**
     *  含參構(gòu)造函數(shù)
     */
    Location(int x = 0,int y = 0){
        _x = x;
        _y = y;
        _myP = (char *)malloc(100);
        strcpy(_myP, "adfadaf");
        
        cout<<"Constructor Object.\n";
    }
    Location(const Location &obj){
        cout<<"調(diào)用拷貝構(gòu)造函數(shù) \n";
    }
    /**
     *  析構(gòu)函數(shù)
     */
    ~Location(){
        cout<<_x<<","<<"Object destroryed"<<endl;
        if (_myP != NULL) {
            free(_myP);
        }
    }
    
    int getX(){
        return _x;
    }
private:
    int _x,_y;
    
    char *_myP;
};

class A{
    A(int a){
        _a = a;
    };
private:
    int _a;
};


Location createLocation(){
    
    Location L(10,20);
    printf("---->%p\n",&L);
    return L;
}

void testFunction(){
    createLocation();
}

void testFunction2(){
    Location a = createLocation();
    printf("---->%p\n",&a);
    printf("對(duì)象被扶正:m:%d\n",a.getX());
}
void testFunction3(){
    Location B(5,2);
    //
    Location C = B;
    printf("C:m:%d\n",C.getX());
}
void testFunction4(){
    Location B(5,2);
    //
    Location C(19,20);
    C = B;
    printf("C:m:%d\n",C.getX());
}
int main(int argc, const char * argv[]) {
    // insert code here...
    std::cout << "Hello, World!\n";
    
//    testFunction();
//    testFunction2();
//    testFunction3();//內(nèi)存泄露  顯示的調(diào)用了內(nèi)存拷貝函數(shù) 
      testFunction4();//內(nèi)存泄露   隱式的調(diào)用了內(nèi)存拷貝函數(shù)
//    
//    Location D;
//    
//    D = B;
    
    return 0;
}

關(guān)鍵總結(jié):

當(dāng)產(chǎn)生新對(duì)象掀鹅,用已有對(duì)象去初始化新對(duì)象時(shí)才會(huì)調(diào)用拷貝構(gòu)造函數(shù)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市次屠,隨后出現(xiàn)的幾起案子园匹,更是在濱河造成了極大的恐慌,老刑警劉巖劫灶,帶你破解...
    沈念sama閱讀 211,817評(píng)論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件裸违,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡本昏,警方通過(guò)查閱死者的電腦和手機(jī)供汛,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,329評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)涌穆,“玉大人怔昨,你說(shuō)我怎么就攤上這事∷尴。” “怎么了趁舀?”我有些...
    開(kāi)封第一講書(shū)人閱讀 157,354評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)原叮。 經(jīng)常有香客問(wèn)我,道長(zhǎng)巡蘸,這世上最難降的妖魔是什么奋隶? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 56,498評(píng)論 1 284
  • 正文 為了忘掉前任,我火速辦了婚禮悦荒,結(jié)果婚禮上唯欣,老公的妹妹穿的比我還像新娘。我一直安慰自己搬味,他們只是感情好境氢,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,600評(píng)論 6 386
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著碰纬,像睡著了一般萍聊。 火紅的嫁衣襯著肌膚如雪悦析。 梳的紋絲不亂的頭發(fā)上寿桨,一...
    開(kāi)封第一講書(shū)人閱讀 49,829評(píng)論 1 290
  • 那天强戴,我揣著相機(jī)與錄音挡鞍,去河邊找鬼。 笑死预烙,一個(gè)胖子當(dāng)著我的面吹牛墨微,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播扁掸,決...
    沈念sama閱讀 38,979評(píng)論 3 408
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼也糊!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起狸剃,我...
    開(kāi)封第一講書(shū)人閱讀 37,722評(píng)論 0 266
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤掐隐,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后钞馁,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體虑省,經(jīng)...
    沈念sama閱讀 44,189評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡僧凰,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,519評(píng)論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了训措。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,654評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡怀大,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出化借,到底是詐尸還是另有隱情,我是刑警寧澤捡多,帶...
    沈念sama閱讀 34,329評(píng)論 4 330
  • 正文 年R本政府宣布,位于F島的核電站蒜焊,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏山涡。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,940評(píng)論 3 313
  • 文/蒙蒙 一鸭丛、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧鳞溉,春花似錦、人聲如沸熟菲。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,762評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至呆贿,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間做入,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 31,993評(píng)論 1 266
  • 我被黑心中介騙來(lái)泰國(guó)打工壶运, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人蒋情。 一個(gè)月前我還...
    沈念sama閱讀 46,382評(píng)論 2 360
  • 正文 我出身青樓耸携,卻偏偏與公主長(zhǎng)得像棵癣,于是被迫代替她去往敵國(guó)和親违帆。 傳聞我的和親對(duì)象是個(gè)殘疾皇子浙巫,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,543評(píng)論 2 349

推薦閱讀更多精彩內(nèi)容

  • 前言 把《C++ Primer》[https://book.douban.com/subject/25708312...
    尤汐Yogy閱讀 9,511評(píng)論 1 51
  • 寫(xiě)在前面:感謝GeekBand提供這樣好的學(xué)習(xí)機(jī)會(huì)护桦,讓我在繁忙的工作之余可以學(xué)習(xí)鞏固c++知識(shí)。以下是邊學(xué)邊記的一...
    PatrickHC閱讀 408評(píng)論 0 0
  • C++文件 例:從文件income. in中讀入收入直到文件結(jié)束,并將收入和稅金輸出到文件tax. out缓呛。 檢查...
    SeanC52111閱讀 2,764評(píng)論 0 3
  • 什么叫天無(wú)絕人之路杭隙?今天哟绊,原本想請(qǐng)高手幫忙和面痰憎,結(jié)果,高手很忙铣耘,沒(méi)空洽沟!只能我這種菜鳥(niǎo)趕鴨子上架蜗细,硬著頭皮自...
    蒲公英fl閱讀 404評(píng)論 0 1
  • “這個(gè)瓶子畫(huà)于2016年的瞬間,所以多好鳄乏,留下點(diǎn)東西〕饕埃” 在職場(chǎng)經(jīng)常會(huì)聽(tīng)到有些資歷深厚的“老人”會(huì)說(shuō)...
    落在地上的原野閱讀 487評(píng)論 3 1