青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

幽魂國度

 

構造函數簡介

目的:為了使用戶定義的數據類型如同一般數據類型一樣使用。
功能:對對象進行初始化,有若干種方法。
特點:1、無返回值說明;2、不能繼承;3、可以有缺省參數;4、不能取地址,構造時自動給對象分配棧中內存,析構時回收;
            5、自動調用構造函數。
        構造函數是類的一個特殊成員函數,其函數名同類名一樣。C++通過構造函數可以正確地初始化對象。構造函數不能被顯式調用,不能使
虛函數。
例: class queue {
                         int q[100];              //默認為private
                         int sloc,rloc;
                      public:
                         queue();
                         void qput(int i); 
};
queue ::queue ()          //隱式調用
{
        sloc=rloc=0;
}        
int    queue ::qput (int i){}
main()
{
      queue  a,b;
      a.qput (10); 
      b.qput (20); 
}
      參數化的構造函數
queue ::queue (int vx,int vy){} };
main()
{
    queue  a(10,20);
}
      缺省參數的構造函數:特殊情況下需要傳遞參數,一般都是用缺省參數。
單個參數:queue ::queue (int i=16) {}   };
                    main()
                      {
                             queue  a;
                       }
多個參數:queue ::queue (int vx=0,int vy=0) {}
缺省參數還可用于一般成員函數。使用時應注意避免二義性。
      多構造函數
public:
        queue ( );
        queue (int );
        queue (int,char );
};
main()
{
         queue a;
         queue b(1);
         queue c(1,'c');    //避免二義性
}
       拷貝構造函數
1、系統產生:
queue ::queue (int vx,int vy){}   };
  main() { queue a(b) ; }
2、自定義:
queue ::queue (const queue &p){}  };
 main()  { queue }

總結:構造函數的作用是對對象本身做初始化工作,也就是給用戶提供初始化類中成員變量的一種方式。
          如果一個類中沒有定義任何的構造函數,那C++編輯器將在某些情況下提供一個默認的構造函數(不帶參數),3種情況:
    1)、類有虛擬成員函數或虛擬繼承父類(虛擬基類);
    2)、類的基類有構造函數;
    3)、類中的所有非靜態餓對象數據成員,它們所屬的類中有構造函數。

構造函數的目的是為了初始化對象,因此一個構造函數至少應該使得對象處于明確定義的狀態
例://class string
string () {s=new char[80];len=80;}
string (int n) {s=new char[n];len=n;}
}
string::stringprintf() { cout<< s <<endl;}
定義對象:
string x,y(80);
x.print();
y.print();
此時,x和y調用的print()函數結構未定義,因為在構造函數中只對字符數組分配了內存,卻未對分配的內存進行初始化。
我們可以通過修改帶默認參數值的構造函數來改進:
string (int n=80) {s=new char[n];s[0]='\0';len=n;}
 用默認參數的形式來代替函數重載的形式。

注意點:
1)構造函數應該使對象處于明確定義的狀態;
2)保持物理狀態的一致性:對數據成員的定義保持一致,在所有函數中只能使用一種定義。
3)類不變性:可以將不變性作為程序代碼的注釋,//len=strlen(s);
4)動態內存的一致性:接口一致性
     void assign (char* str) { strcpy(s,str);}
     void concat (string& a) {s=new char[len+1];strcpy(s,a.s);}
     兩函數的表現行為存在不一致性:前者內存不再分配,而后者一直在分配。我們應只使用一種以保持一致性。
5)內存泄露:concat函數中每拷貝一次,s就重新分配一次,s被新的指針值覆蓋,而前一指針值被拋棄,產生內存垃圾。
      因此concat函數必須保證舊的數組一定要被刪除,對于每一個new,就必須有一個delete操作,且delete語句只能被增加在
      新的字符串創建之后。
      void concat (string& a) {new_s=new char[len+1];strcpy(s,a.s); delete[]s;s=new_s;}

posted on 2009-11-10 15:49 閱讀(444) 評論(0)  編輯 收藏 引用

導航

統計

常用鏈接

留言簿

隨筆檔案

搜索

最新評論

閱讀排行榜

評論排行榜

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            久久综合亚洲社区| 欧美专区日韩视频| 亚洲专区在线视频| 亚洲精品一区二区三区在线观看 | 欧美成人四级电影| 久久成人综合视频| 亚洲在线免费视频| 亚洲欧美日本国产有色| 亚洲视频精选| 樱桃国产成人精品视频| 国产专区欧美专区| 国产一区二区日韩精品欧美精品| 国产美女高潮久久白浆| 国产精品福利在线观看| 欧美日韩在线播放三区| 欧美日韩精品一区二区三区| 久久久www| 麻豆freexxxx性91精品| 欧美一区二区视频网站| 欧美在线不卡视频| 久久精品综合| 免费日本视频一区| 欧美日韩国产美女| 国产精品―色哟哟| 黄色在线一区| 亚洲精品日韩在线| 亚洲一区二区动漫| 久久久久久久综合色一本| 免费视频一区| 亚洲精品国产精品国自产在线 | 99re66热这里只有精品3直播| 9l国产精品久久久久麻豆| 亚洲午夜国产一区99re久久| 香蕉成人伊视频在线观看| 久久久女女女女999久久| 欧美在线免费观看视频| 欧美国产日韩亚洲一区| 国产精品毛片a∨一区二区三区|国| 国产日韩在线一区| 亚洲国产专区校园欧美| 亚洲在线网站| 亚洲网站啪啪| 亚洲国产精品一区二区第四页av | 久久免费观看视频| 亚洲人成艺术| 久久大逼视频| 欧美日韩免费在线观看| 欧美视频手机在线| 亚洲精品女av网站| 欧美在线播放一区二区| 亚洲国产精品一区二区第四页av| 亚洲香蕉伊综合在人在线视看| 午夜精品免费| 国产精品久久久久久影视| 亚洲电影免费| 久久久www| 国产精品二区影院| 伊人精品视频| 免费看黄裸体一级大秀欧美| 欧美一区二区三区在线播放| 国产欧美精品国产国产专区| 午夜日韩视频| 亚洲欧美日韩在线综合| 国产精品亚洲а∨天堂免在线| 亚洲伊人第一页| 亚洲视频自拍偷拍| 国产精品永久| 久久久夜色精品亚洲| 久久精品成人一区二区三区蜜臀| 精品av久久707| 欧美国产国产综合| 欧美另类高清视频在线| 亚洲素人一区二区| 亚洲午夜激情| 一区在线播放视频| 欧美激情视频一区二区三区不卡| 蜜桃久久精品乱码一区二区| 亚洲日本一区二区| 99re热这里只有精品免费视频| 国产精品高潮视频| 久久国产手机看片| 美女在线一区二区| 亚洲午夜精品一区二区| 午夜在线视频观看日韩17c| 黄色成人在线观看| 亚洲国产成人av好男人在线观看| 欧美日韩成人一区二区| 欧美一区二区三区在线播放| 久久久女女女女999久久| 99精品99久久久久久宅男| 亚洲欧美精品在线观看| 亚洲国产精品精华液2区45| 日韩亚洲欧美成人| 激情av一区| 一本色道久久综合亚洲精品婷婷 | 久久精品视频在线观看| 欧美凹凸一区二区三区视频| 国产欧美在线观看| 久久亚洲欧美| 欧美色一级片| 免费一级欧美片在线播放| 欧美日韩一卡二卡| 免费成人在线视频网站| 欧美特黄一级| 欧美激情四色 | 久久在线观看视频| 亚洲午夜免费福利视频| 裸体素人女欧美日韩| 欧美在线看片| 欧美日韩一区二区三区在线看 | 午夜在线a亚洲v天堂网2018| 99国产精品久久久久久久| 欧美在现视频| 先锋资源久久| 欧美日韩日韩| 亚洲国产岛国毛片在线| 狠狠操狠狠色综合网| 亚洲午夜激情免费视频| 亚洲伦理久久| 噜噜噜噜噜久久久久久91| 久久精品视频亚洲| 国产美女在线精品免费观看| 99国产精品99久久久久久| 最新高清无码专区| 久久字幕精品一区| 久久婷婷麻豆| 国产日韩欧美制服另类| 亚洲一区二区三区精品动漫| 99精品欧美一区二区蜜桃免费| 久久综合九色99| 免费h精品视频在线播放| 国产麻豆日韩| 午夜精品久久久久久久久久久久| 性欧美1819性猛交| 国产精品看片你懂得| 在线亚洲成人| 亚洲欧美国产高清va在线播| 欧美日韩一区二区三区在线视频| 亚洲精品久久久久久下一站| 99v久久综合狠狠综合久久| 欧美人与禽猛交乱配| 日韩一区二区精品| 亚洲砖区区免费| 国产伦理一区| 久久综合婷婷| 亚洲精品美女久久7777777| 一区二区三区精品| 国产精品一二一区| 久久精品成人一区二区三区| 欧美成人精品1314www| 亚洲三级网站| 国产精品高潮呻吟久久| 欧美伊人久久| 亚洲电影在线看| 亚洲天堂偷拍| 韩国一区二区三区在线观看| 猛男gaygay欧美视频| 日韩视频国产视频| 欧美一区二区三区婷婷月色 | 亚洲在线一区二区三区| 国产精品区一区二区三区| 欧美一区二区| 亚洲成人资源网| 亚洲中无吗在线| 激情文学综合丁香| 欧美精品一区二区视频| 亚洲欧美一区二区三区极速播放| 久久中文在线| 夜夜嗨一区二区| 国产香蕉97碰碰久久人人| 老巨人导航500精品| 日韩一级视频免费观看在线| 久久精品国产第一区二区三区| 亚洲成在线观看| 国产精品第一区| 久久婷婷久久| 一区二区三区欧美在线观看| 久久香蕉国产线看观看av| 日韩网站在线看片你懂的| 国产日韩专区| 欧美视频在线观看免费网址| 久久天天狠狠| 新片速递亚洲合集欧美合集| 亚洲经典三级| 久久久久国产精品麻豆ai换脸| 一本久久a久久免费精品不卡| 国内外成人在线| 国产精品国产a级| 欧美xx视频| 久久久噜噜噜久久狠狠50岁| 亚洲午夜黄色| 夜夜精品视频一区二区| 亚洲国产精品成人| 久久中文字幕一区二区三区| 亚洲一区二区三区精品在线| 亚洲欧洲一区二区天堂久久| 黄色日韩网站视频| 国产亚洲aⅴaaaaaa毛片| 国产精品久久久对白| 欧美日韩一区二区三区免费看|