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

幽魂國度

 

構造函數簡介

目的:為了使用戶定義的數據類型如同一般數據類型一樣使用。
功能:對對象進行初始化,有若干種方法。
特點: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>
            小黄鸭精品aⅴ导航网站入口| 激情欧美日韩| 午夜在线一区| 亚洲欧美综合精品久久成人| 亚洲一区二区三区精品动漫| 亚洲伊人第一页| 久久激情五月婷婷| 久久综合久久88| 欧美顶级少妇做爰| 欧美日韩中文字幕在线| 国产精品视频免费| 国产一区视频在线观看免费| 亚洲国产成人久久| 黄色国产精品一区二区三区| 欧美高清视频免费观看| 欧美日韩亚洲一区二| 国产精品日韩久久久| 国语自产精品视频在线看8查询8| 亚洲高清不卡在线| 亚洲一区综合| 久久综合五月天婷婷伊人| 亚洲电影视频在线| 欧美黄色网络| 亚洲视频一区二区| 久久中文字幕一区| 国产精品成人免费精品自在线观看| 国产精品综合视频| 亚洲午夜在线视频| 久久成人精品视频| 亚洲高清久久网| 亚洲欧美精品在线| 欧美精品乱人伦久久久久久| 国产九区一区在线| 99成人免费视频| 久久国内精品视频| 99在线精品视频在线观看| 久久久99久久精品女同性| 欧美性色视频在线| 99ri日韩精品视频| 欧美国产精品一区| 久久激情五月丁香伊人| 欧美亚日韩国产aⅴ精品中极品| 国产精品美女在线| 亚洲精品激情| 美女爽到呻吟久久久久| 先锋影音久久| 国产精品久久久久久久久久尿| 最新热久久免费视频| 久久久久国产精品一区三寸| 亚洲午夜羞羞片| 欧美性大战久久久久久久蜜臀| 亚洲精品国产精品国自产在线| 久久中文字幕一区| 欧美中文在线视频| 国产欧美三级| 久久精品卡一| 欧美一级久久| 国产亚洲精品福利| 久久久视频精品| 久久九九国产精品怡红院| 国产在线精品一区二区夜色| 久久免费少妇高潮久久精品99| 香蕉久久一区二区不卡无毒影院 | 午夜亚洲福利在线老司机| 亚洲精品视频在线播放| 欧美成人在线影院| 日韩一区二区免费看| 亚洲国产成人高清精品| 美女91精品| 99精品视频免费| 99日韩精品| 国产精品一区二区三区观看| 久久大香伊蕉在人线观看热2| 午夜精品久久久久| 韩曰欧美视频免费观看| 噜噜噜噜噜久久久久久91| 久久久久久日产精品| 亚洲国产一二三| 亚洲精品欧美日韩专区| 欧美日韩一区在线视频| 性欧美精品高清| 久久久爽爽爽美女图片| 亚洲伦理中文字幕| 亚洲一区二区视频| 在线日韩av片| 99在线精品观看| 狠狠干成人综合网| 亚洲高清在线视频| 在线看视频不卡| 亚洲国产cao| 国产精品欧美日韩一区二区| 久久网站热最新地址| 欧美国产日韩二区| 欧美中文字幕精品| 欧美激情精品久久久| 欧美一区二区三区在线视频| 久久综合五月| 午夜激情久久久| 亚洲精品日韩一| 久久理论片午夜琪琪电影网| 亚洲二区在线视频| 亚洲精品中文字幕在线| 国产伦精品一区二区三区免费迷| 久久麻豆一区二区| 国产精品av一区二区| 美女在线一区二区| 国产精品福利影院| 欧美激情在线播放| 国产乱码精品一区二区三区av| 欧美国产欧美亚州国产日韩mv天天看完整| 欧美日韩mp4| 欧美不卡在线| 国产精品一区亚洲| 亚洲精品一区二区三区樱花 | 亚洲图片欧洲图片av| 久久国产视频网| 亚洲在线观看视频网站| 美女精品在线观看| 久久精品综合一区| 国产精品久久久久高潮| 亚洲高清视频的网址| 国内精品久久久久伊人av| 亚洲视屏在线播放| 99视频有精品| 欧美高清视频免费观看| 欧美高清一区| 亚洲国产精品va在线看黑人| 久久精品在线观看| 久久一区精品| 国产综合香蕉五月婷在线| 亚洲尤物视频网| 午夜精品一区二区三区在线播放| 欧美精品亚洲| 亚洲日本一区二区| 99re6热只有精品免费观看 | 国产亚洲精品成人av久久ww| 亚洲尤物视频网| 性8sex亚洲区入口| 国产精品制服诱惑| 性欧美暴力猛交另类hd| 久久精品一区蜜桃臀影院| 国产麻豆综合| 欧美在线免费| 免费成人av在线看| 亚洲精品极品| 欧美婷婷久久| 午夜精品视频在线观看一区二区| 久久国产精品久久久久久电车| 国产日本欧美一区二区三区| 欧美在线观看一区二区| 免费久久久一本精品久久区| 亚洲国产一区二区三区在线播| 免费视频一区二区三区在线观看| 亚洲电影天堂av| 99www免费人成精品| 亚洲精品一区二区在线观看| 欧美日韩成人在线观看| 亚洲一区二区三区精品视频 | 在线视频亚洲欧美| 久久九九热免费视频| 激情自拍一区| 欧美国产欧美综合 | 免播放器亚洲一区| 99国产精品99久久久久久粉嫩| 欧美三级在线播放| 亚洲欧美中文另类| 欧美高清在线一区二区| 在线亚洲高清视频| 国产日产高清欧美一区二区三区| 久久久久久9999| 亚洲三级免费观看| 久久国产精品99国产| 亚洲精品视频免费观看| 国产乱码精品一区二区三区av| 久久久久久亚洲精品中文字幕 | 一区二区三区欧美视频| 久久久亚洲国产美女国产盗摄| 亚洲人体一区| 国产日产欧产精品推荐色| 欧美电影免费观看高清完整版| 亚洲欧美卡通另类91av| 亚洲电影成人| 久久久国产91| 亚洲免费网站| 亚洲美女黄网| 一区二区三区在线观看国产| 欧美午夜视频一区二区| 免费亚洲网站| 久久精品99久久香蕉国产色戒| 一区二区欧美视频| 亚洲国产精品国自产拍av秋霞| 久久精品女人| 亚洲综合国产激情另类一区| 亚洲日本黄色| 亚洲电影av在线| 国产亚洲欧美一区在线观看| 国产精品盗摄一区二区三区| 欧美精品一区二区三区久久久竹菊 | 久久亚洲一区| 欧美一区二区啪啪|