• <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>
            在C++的設(shè)計(jì)中關(guān)鍵的問(wèn)題總是與類型、歧義性、訪問(wèn)控制等有關(guān)。而不是那些語(yǔ)法方面的問(wèn)題。

            對(duì)象布局模型
            派生類的實(shí)現(xiàn)也就是簡(jiǎn)單的將基類的成員和派生類的成員并列放置。例如:
            給定了,
            ?
            class?A{

            int?a;
            public:
            /*member?function*/
            };

            class?B:public?A{
            int?b;
            public:
            /*member?function*/
            };

            對(duì)類B的一個(gè)對(duì)象采用一個(gè)結(jié)構(gòu)來(lái)表示:

            sturct?B{/*generated?c?code*/
            int?a;
            int?b;
            }
            ;
            ?
            1、基成員和派生成員之間的名字沖突由編譯器賦于互不沖突的名字。
            2、函數(shù)調(diào)用被處理得像根本沒(méi)有派生時(shí)那樣。
            3、與C語(yǔ)言相比,這里時(shí)間或者空間沒(méi)有增加。

            保護(hù)模型

            類被做為保護(hù)單位。基本規(guī)則是不能自己授予自己訪問(wèn)一個(gè)類的權(quán)力。只有放在類內(nèi)的聲明可以。按照默認(rèn)方式,所有信息都是私用的。

            如果只想提繼承一個(gè)實(shí)現(xiàn),那么就應(yīng)私有派生。私有派生把基類留做實(shí)現(xiàn)細(xì)節(jié)。
            公有派生將使派生類的使用方能訪問(wèn)基類提供的所有界面。

            C++的訪問(wèn)控制是為了防止意外事件而不是為了防止欺騙。任何程序設(shè)計(jì)語(yǔ)言,只要他支持對(duì)原始存儲(chǔ)器的訪問(wèn),就會(huì)使數(shù)據(jù)處于開(kāi)放的狀態(tài)。使所有有意按照某種違反數(shù)據(jù)項(xiàng)原本類型規(guī)則所描述的方式去觸動(dòng)它的企圖都能實(shí)現(xiàn)。
            保護(hù)系統(tǒng)的職責(zé)就是保證所有違反類型系統(tǒng)的操作都只能顯式的進(jìn)行。并且減少這種操作的必要性。???

            存儲(chǔ)分配和構(gòu)造函樹(shù)

            c語(yǔ)言里對(duì)象有三種方式分配:
            1、堆棧上(在自動(dòng)存儲(chǔ)區(qū))。
            2、在固定的地址。
            3、在自由空間(在堆里,或者說(shuō)在動(dòng)態(tài)空間)。
            C語(yǔ)言里,在自由空間分配一個(gè)對(duì)象時(shí)只涉及到調(diào)用一個(gè)分配函樹(shù)。例如:
            monitor?*?p?=?(monitor?*)malloc(sizeof(?monitor));

            這顯然無(wú)法保證會(huì)調(diào)用構(gòu)造函樹(shù)。因此C++引入了一個(gè)運(yùn)算賦,以便保證分配和初始化都能完成。
            monitor?*?p?=?new?monitor;
            delete 被引入,做為new的對(duì)應(yīng)物。就像free做為malloc的對(duì)應(yīng)物。
            Posted on 2006-11-23 14:26 艾凡赫 閱讀(496) 評(píng)論(0)  編輯 收藏 引用 所屬分類: C++
            久久亚洲精品国产精品婷婷| 国产精品99精品久久免费| 久久精品国产精品亚洲艾草网美妙| 国产99久久久国产精免费| 久久精品国产只有精品66| 国产美女亚洲精品久久久综合 | 久久97久久97精品免视看| 久久久噜噜噜久久中文字幕色伊伊| 久久超乳爆乳中文字幕| 亚州日韩精品专区久久久| 久久精品无码一区二区三区| 成人综合久久精品色婷婷| 99久久精品国产毛片| 久久精品国产亚洲AV麻豆网站| 久久久久久久久久免免费精品| 久久久久免费看成人影片| 久久亚洲AV成人无码| 色婷婷久久久SWAG精品| 久久久久免费精品国产| 亚洲欧洲日产国码无码久久99| 久久亚洲精品无码观看不卡| 久久99热精品| 久久久精品国产sm调教网站| 久久久久久免费视频| 伊人久久大香线蕉AV一区二区| 91精品国产91热久久久久福利| 99久久免费国产精精品| 久久久精品2019免费观看| 久久人人妻人人爽人人爽| 久久综合久久综合亚洲| 欧美激情精品久久久久久久九九九| AAA级久久久精品无码区| 国产福利电影一区二区三区久久老子无码午夜伦不 | 婷婷综合久久中文字幕蜜桃三电影| 一本综合久久国产二区| 久久人人爽人人爽AV片| 久久av高潮av无码av喷吹| 亚洲国产天堂久久综合| 久久www免费人成看片| 久久久久亚洲av无码专区| 久久国产精品成人免费|