伸进女同桌乳沟里摸爽了,小雪解开乳罩给老杨摸,少妇被按摩师摸高潮了,亲嘴扒胸摸屁股激烈视频,强摸秘书人妻大乳BD,摸BBB揉BBB揉BBB视频

新疆軟件開發(fā)

本站首頁 軟件開發(fā) 成功案例 公司新聞 公司簡(jiǎn)介 客服中心 軟件技術(shù) 網(wǎng)站建設(shè)
  您現(xiàn)在的位置: 新疆二域軟件開發(fā)公司 >> 開發(fā)語言 >> 文章正文

C++類析構(gòu)函數(shù)學(xué)習(xí)

1.前言
        大部分對(duì)象在使用之之后沒有正確的從內(nèi)存清理完畢,造成內(nèi)存泄露也是C++出錯(cuò)的主要領(lǐng)域
引入類的析構(gòu)是正確的從內(nèi)存中清量類的對(duì)象
一般什么時(shí)候觸發(fā)并調(diào)用類的析構(gòu)函數(shù)呢?
答案是:當(dāng)類實(shí)例對(duì)象超出它的有效作用域時(shí),也就是撤消類對(duì)象時(shí),自動(dòng)調(diào)用析構(gòu)函數(shù)來清理對(duì)象
構(gòu)造函數(shù)用來初始化成員,析造函數(shù)則是用來清理對(duì)象
如我們刪除一個(gè)類的指針對(duì)象,則自動(dòng)調(diào)用析構(gòu)函數(shù):
sales_item是一個(gè)類
sales_item *p = new sales_item //建立并分配一個(gè)類的指針p
delete p;//這就是撤消類的對(duì)象,隨后它自動(dòng)調(diào)用析構(gòu)函數(shù)
2.定義
構(gòu)造函數(shù)名和類名完全一樣,并在名字前面加"~"符號(hào)
每個(gè)類只有一個(gè)析構(gòu)函數(shù)
2.1定義格式
~析構(gòu)函數(shù)名稱(){}    //一般析構(gòu)函數(shù):
virtual ~析構(gòu)函數(shù)名稱(){} //虛析構(gòu)函數(shù):
代碼如下
class item{
public:
~item(){}
};
3 基類與派生類
3.1一般基類是不用寫出析構(gòu)函數(shù),編譯器自動(dòng)添加一個(gè)
類aa可以正常的工作就是編譯器自動(dòng)添加了四個(gè)函數(shù)
如代碼
class aa{
public:
   //構(gòu)造,析構(gòu),復(fù)制構(gòu)造,賦值操作符四個(gè)函數(shù)由編譯器自動(dòng)添加
   int getx(){return x;}
   void set(int a){x=a;}
private:
 int x;
};

3.2析構(gòu)函數(shù)"三法則",如果類中有復(fù)制構(gòu)造函數(shù)和賦值操作符重載,則析構(gòu)函數(shù)必須要,三者缺一不可
class bb{
public:
 bb(const bb& rhs){...}    //復(fù)制構(gòu)造函數(shù)
 bb& operator=(const bb& rhs){...} //賦值操作符
 ~bb(){清理函數(shù)}                   //析構(gòu)函數(shù)       
private:
 int x
};
以上三個(gè)函數(shù)三者必須同時(shí)出現(xiàn),以免出現(xiàn)有的對(duì)象清除不了,有的出現(xiàn)"淺復(fù)制錯(cuò)誤"

3.3如果類中有指針成員,則必須專門寫一個(gè)析構(gòu)函數(shù)來清理指針成員,編譯器默認(rèn)添加的析構(gòu)函數(shù)不會(huì)去清理指針對(duì)象
如果類中有指針成員,如鏈表結(jié)構(gòu)實(shí)現(xiàn)等,
指針成員是基本單位,在方便使用指針的同時(shí),如何管理好它們的工作就是C++中最困難的部分

這個(gè)析構(gòu)函數(shù)最好特別定制,做法是析構(gòu)函數(shù)加一個(gè)清理函數(shù),析構(gòu)函數(shù)直接調(diào)用它就OK

3.4派生類
虛成員函數(shù)和虛析構(gòu)函數(shù)通常是成對(duì)出現(xiàn)
當(dāng)基類有虛函數(shù)時(shí),派生類會(huì)發(fā)生動(dòng)態(tài)調(diào)用,也就是動(dòng)態(tài)綁定,
當(dāng)不知道是調(diào)用基類對(duì)象還是調(diào)用派生類對(duì)象時(shí),還要正確的清理它們就更加困難啦,在基類引入虛析構(gòu)函數(shù)后,
它也能發(fā)生動(dòng)態(tài)綁定,正確的清理對(duì)象,這些都要到程序運(yùn)行后才能知道調(diào)用對(duì)象,在編譯前是無法知道對(duì)象是誰的
代碼:
//基類
class base{
public:
 virtual draw(){}; //虛方法
 virtual ~base(){};//虛析構(gòu)函數(shù)
};

//派生類
class dev : public base{
public:
   draw(){}//draw方法的實(shí)現(xiàn)
   ~dev(){}//析構(gòu)函數(shù)
};

4.設(shè)計(jì)指導(dǎo)
4.1一般的類我們不需要設(shè)計(jì)出它的析構(gòu)函數(shù),編譯器自動(dòng)為我們構(gòu)建一個(gè)析構(gòu)函數(shù)
4.2析構(gòu)函數(shù)"三法則",如果類中有復(fù)制構(gòu)造函數(shù)和賦值操作符重載,則析構(gòu)函數(shù)必須要,三者缺一不可
4.3如果類中有指針成員,則必須專門寫一個(gè)析構(gòu)函數(shù)來清理指針成員,編譯器默認(rèn)添加的析構(gòu)函數(shù)不會(huì)去清理指針對(duì)象
4.4"虛函數(shù)和虛析構(gòu)函數(shù)成對(duì)實(shí)現(xiàn)",
當(dāng)類中有虛成員時(shí),定制虛析構(gòu)函數(shù),讓派生類實(shí)行動(dòng)態(tài)綁定方式來清除基類對(duì)象或者派生類對(duì)象

作者:未知 | 文章來源:未知 | 更新時(shí)間:2008-1-15 16:43:08

  • 上一篇文章:

  • 下一篇文章:

  • 相關(guān)文章:
    C++基礎(chǔ)知識(shí):結(jié)構(gòu)體數(shù)據(jù)的指針變量
    如何實(shí)現(xiàn)C與C++程序的相互調(diào)用
    在C++中成員函數(shù)如何實(shí)現(xiàn)操作符重載?
    基礎(chǔ)學(xué)習(xí):C++非成員函數(shù)實(shí)現(xiàn)操作符重載
    基礎(chǔ)學(xué)習(xí):C++重載輸入輸出符
    基礎(chǔ)學(xué)習(xí):C++重載下標(biāo)結(jié)算符
    基礎(chǔ)學(xué)習(xí):C++中重載調(diào)用操作符
    基礎(chǔ)學(xué)習(xí):C++重載轉(zhuǎn)換操作符operator (type)
    C++類復(fù)制控制學(xué)習(xí)
    C++類構(gòu)造函數(shù)學(xué)習(xí)
    軟件技術(shù)
    · 開發(fā)語言
    · Java技術(shù)
    · .Net技術(shù)
    · 數(shù)據(jù)庫開發(fā)
    最新文章  
    ·搜集整理的asp.net的驗(yàn)證方
    ·各種FOR循環(huán)結(jié)構(gòu)的整理
    ·軟件項(xiàng)目開發(fā)中應(yīng)該考慮那
    ·搜集整理的javascript sel
    ·軟件開發(fā)中項(xiàng)目經(jīng)理有那些
    ·學(xué)習(xí)如何在Lambda表達(dá)式進(jìn)
    ·C++基礎(chǔ)知識(shí):結(jié)構(gòu)體數(shù)據(jù)的
    ·C#實(shí)現(xiàn)短信發(fā)送程序的例子
    ·sun最近修補(bǔ)了一部分java的
    ·rss定制的另外一種實(shí)現(xiàn)方式
    ·delphi實(shí)現(xiàn)利用arp欺騙來實(shí)
    ·基礎(chǔ)學(xué)習(xí):基于WF的流程框
    ·網(wǎng)絡(luò)編程中怎樣得知一次數(shù)
    ·如何逆序輸出單鏈表?
    ·軟件開發(fā)過程中的性能設(shè)計(jì)
    關(guān)于我們 | 軟件開發(fā) | 下載試用 | 客服中心 | 聯(lián)系我們 | 友情鏈接 | 網(wǎng)站地圖 | 新疆電子地圖 | RSS訂閱
    版權(quán)所有 © 2016 新疆二域軟件開發(fā)網(wǎng) www.zgna.net All Rights Reserved 新ICP備14003571號(hào)
    新疆軟件開發(fā)總機(jī):0991-4842803、4811639.
    客服QQ:596589785 ;地址:新疆烏魯木齊北京中路華聯(lián)大廈A-5C 郵編:830000
     
    巴中市| 唐河县| 萝北县| 通江县| 通山县| 嘉禾县| 利津县| 内丘县| 荔浦县| 扬州市| 边坝县| 湖口县| 定西市| 长丰县| 恩施市| 枞阳县| 梁河县| 崇明县| 常德市| 武夷山市| 金平| 科尔| 普格县| 贵德县| 南江县| 襄垣县| 廉江市| 会昌县| 奈曼旗| 昌吉市| 剑川县| 东山县| 满洲里市| 阿克苏市| 太康县| 博客| 西平县| 丰县| 秦安县| 鸡东县| 合水县|