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

幽魂國度

 

構造函數簡介

目的:為了使用戶定義的數據類型如同一般數據類型一樣使用。
功能:對對象進行初始化,有若干種方法。
特點: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 閱讀(448) 評論(0)  編輯 收藏 引用


只有注冊用戶登錄后才能發表評論。
網站導航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


導航

統計

常用鏈接

留言簿

隨筆檔案

搜索

最新評論

閱讀排行榜

評論排行榜

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            国产精品久久久久久久久动漫| 欧美日韩免费网站| 免费h精品视频在线播放| 亚洲尤物在线| 一区二区av在线| 亚洲精品国产精品国自产在线| 国产一区二区三区四区在线观看 | 欧美日韩在线播| 久久精品国产亚洲精品| 亚洲影院在线观看| 亚洲人成网站色ww在线| 久久精品久久综合| 亚洲精品在线观| 欧美国产一区二区在线观看 | 久久久91精品国产| 久久亚洲综合色| 国产一区二区0| 亚洲精品久久在线| 另类天堂视频在线观看| 欧美一区二视频| 欧美日本精品| 亚洲第一精品久久忘忧草社区| 亚洲黄色精品| 裸体一区二区| 亚洲日本欧美在线| 最新国产成人av网站网址麻豆| 亚洲欧美日韩国产一区二区三区| 亚洲视频成人| 久久久伊人欧美| 国产精品免费观看在线| 国产在线精品一区二区夜色| 亚洲国内在线| 亚洲国产精品毛片| 99精品热视频| 欧美国产一区二区在线观看| 噜噜噜噜噜久久久久久91| 国产农村妇女精品| 亚洲综合日韩| 欧美午夜视频| 韩国自拍一区| 一区二区日韩免费看| 国内久久精品视频| 在线观看欧美亚洲| 亚洲精品视频免费观看| 欧美国产视频日韩| 亚洲毛片一区二区| 宅男噜噜噜66一区二区66| 亚洲一区二区三区在线播放| 欧美永久精品| 欧美成人日韩| 国产精品亚洲综合色区韩国| 一本在线高清不卡dvd| 国产精品嫩草99a| 亚洲三级性片| 欧美成人免费在线| 亚洲影院色无极综合| 欧美日韩国产欧| 日韩视频在线一区二区| 欧美电影在线观看完整版| 亚洲砖区区免费| 国产伦理精品不卡| 欧美成人性网| 久久中文精品| 欧美人与禽猛交乱配视频| 久久久欧美精品| 欧美国产日韩一区二区| 亚洲一区二区综合| 在线观看国产日韩| 亚洲高清视频的网址| 一区二区三区高清| 亚洲黑丝在线| 欧美—级高清免费播放| 亚洲一区二区三区精品动漫| 午夜精品久久久久| 国产色婷婷国产综合在线理论片a| 亚洲国产日韩一区| 久久久精品日韩欧美| 久久动漫亚洲| 日韩视频一区二区| 久久久精彩视频| 亚洲视频观看| 亚洲综合导航| aa级大片欧美| 久久这里只精品最新地址| 美女成人午夜| 欧美黄色aa电影| 亚洲天堂第二页| 久久综合色婷婷| 亚洲深夜影院| 先锋a资源在线看亚洲| 极品日韩久久| 亚洲精品免费在线播放| 国产精品久久久久久五月尺| 久久久久九九九| 欧美精品18+| 久久精品国产视频| 欧美国内亚洲| 午夜精品一区二区三区四区| 欧美一区二区观看视频| 亚洲国产精品久久91精品| 亚洲欧美成人一区二区三区| 亚洲欧美久久久久一区二区三区| 国产欧美日韩在线播放| 亚洲高清网站| 亚洲一区影院| 亚洲福利视频网| 在线视频你懂得一区 | 亚洲综合精品四区| 欧美在线日韩精品| 亚洲成人在线网站| 亚洲一区自拍| 国产精品av久久久久久麻豆网 | 亚洲欧洲精品一区二区| 国产精品视频九色porn| 久久手机免费观看| 国产精品久久九九| 亚洲综合色网站| 欧美激情1区2区3区| 极品中文字幕一区| 欧美一区二区三区免费大片| 国产一区三区三区| 亚洲一区二区3| 国产情侣一区| 国产精品五区| 亚洲精品乱码久久久久| 欧美激情一区二区在线| 91久久久久久久久| 一本大道久久a久久精品综合| 久久国产成人| 亚洲日本aⅴ片在线观看香蕉| 久久久激情视频| 一区二区久久久久久| 日韩午夜中文字幕| 久久精品成人欧美大片古装| 欧美国产一区二区在线观看| 国产亚洲一区二区在线观看 | 国产日韩欧美一二三区| 亚洲第一二三四五区| 亚洲天堂第二页| 亚洲国产精品久久精品怡红院| 亚洲一区欧美一区| 欧美精品国产精品日韩精品| 欧美高清在线一区| 一色屋精品视频在线看| 亚洲国产成人高清精品| 久久久亚洲成人| 亚洲欧美日韩国产综合在线| 欧美日韩精品二区| 欧美怡红院视频| 性欧美video另类hd性玩具| 国产日韩精品视频一区| 欧美在线免费看| 99re6热在线精品视频播放速度| 欧美在线视频一区二区| 亚洲自拍偷拍色片视频| 国产一区二三区| 精品1区2区3区4区| 亚洲欧美成人综合| 久久久99国产精品免费| 欧美高清视频| 久久久久久久97| 1024亚洲| 久久精品国产一区二区三| 欧美精品国产一区| 午夜视频在线观看一区二区| 欧美日韩免费在线观看| 亚洲综合精品| 亚洲网站在线| 国语自产精品视频在线看抢先版结局| 亚洲茄子视频| 欧美一区二区在线| 国产精品久久久久久久午夜片 | 亚洲自拍16p| 另类酷文…触手系列精品集v1小说| 欧美日韩亚洲在线| 在线电影一区| 一区二区三区.www| 欧美黄色aa电影| 欧美成人精品一区| 欧美国产精品一区| 久久久久久一区二区三区| 久久乐国产精品| 亚洲影院色在线观看免费| 午夜精品久久久久久久蜜桃app| 亚洲在线观看免费| 日韩亚洲欧美精品| 欧美在线免费看| 国产亚洲激情| 性欧美8khd高清极品| 99精品视频免费| 国产一区高清视频| 免费欧美高清视频| 欧美在线一级va免费观看| 欧美91精品| 久久久xxx| 国产精品免费一区豆花| 久久五月天婷婷| 中文国产一区| 欧美一级免费视频| 在线一区二区视频|