• <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>
            老郭  
            Windows
            日歷
            <2008年7月>
            293012345
            6789101112
            13141516171819
            20212223242526
            272829303112
            3456789
            統(tǒng)計(jì)
            • 隨筆 - 0
            • 文章 - 2
            • 評(píng)論 - 8
            • 引用 - 0

            導(dǎo)航

            常用鏈接

            留言簿

            文章檔案

            搜索

            •  

            最新評(píng)論

             
            c++的三種繼承方式:
            public,private,protected.
            (1)先從一個(gè)類說(shuō)起:
               class A{
               private:
                 int i;
               public:
                 void f(){
                   cout<<i<<endl;//這是可以的,類內(nèi)部的函數(shù)可以訪問(wèn)它的私有成員。
                 }
               private:
                 void g(){
                   cout<<i<<endl;//這也是可以的,類內(nèi)部的函數(shù)可以訪問(wèn)它的私有成員,包括public,private,protected;
                 }
                
               };
               void main(){
                A a;
                //a.i;
                //這是錯(cuò)誤的,這個(gè)函數(shù)沒(méi)有權(quán)限訪問(wèn)私有變量。
               }
            (2)
               class A{
               private:
                 int i;
               };
               void main(){
                A a;
                //a.i;
                //這是錯(cuò)誤的,這個(gè)函數(shù)沒(méi)有權(quán)限訪問(wèn)私有變量。
               }
            (3)
               class A{
               private:
                 int i;
               friend void main();//聲明main函數(shù)是這個(gè)類A的友員函數(shù)。
               };
               void main(){
                A a;
                a.i;
                //這是正確的,友元函數(shù)有權(quán)限訪問(wèn)類的私有成員變量。
               }
            (4)關(guān)于類的protected 成員變量。
              class A{
               protected:
                int x;
              };
              class B:public A{
               public:
                void f1(){
                 cout<<x<<endl;
                }
               private:
                void f2(){
                 cout<<x<<endl;
                }
                protected:
                void f3(){
                 cout<<x<<endl;
                }
               }
               //總結(jié):類B是從類A(public)繼承而來(lái),
               //類B的成員函數(shù)(包括 public,protected,private)都可以訪問(wèn)類A的私有成員變量。
               //其實(shí)類B可以從類A(protected,private)繼承,結(jié)果都一樣,它的成員函數(shù)都可以訪問(wèn)類A的私有變量。
               //!注意:是成員函數(shù)可以。
            (5)接上面(4)
               class A{
               protected:
                int x;
               };
              class B:public A{
               public:
                void f1(){
                 cout<<x<<endl;//可以
                }
               private:
                void f2(){
                 cout<<x<<endl;//可以
                }
                protected:
                void f3(){
                 cout<<x<<endl;//可以
                }
               }
               void main(){
                B b;
                b.x=1;//不可以,結(jié)合上面(4)所說(shuō),是子類的成員函數(shù)可以,但是不能通過(guò)對(duì)象直接訪問(wèn)。
               }
            (6)關(guān)于單個(gè)類的protected成員變量。
               它在類內(nèi)部訪問(wèn)屬性和私有成員一樣。
               class A{
                private:
                 int x;
                protected:
                 int y;
                public:
                 void f1(){
                  cout<<x<<y<<endl;//和私有成員變量一樣,可以訪問(wèn)。
                 }
               }
               void main(){
                 A a;
                 cout<<a.x<<a.y<<endl;//和私有成員變量一樣,不可以這樣訪問(wèn)。
               }
            (7)假設(shè)B類繼承A類,即B類是A類的直接子類。
               public繼承:A的訪問(wèn)屬性在B類保持不變。
                           A的public----------B仍是public;       
                           A的protected-------B仍是protected;
                           A的private---------B仍是private;
               protected繼承:
                           A的public----------B變成protected;     
                           A的protected-------B仍是protected;
                          
                           A的private---------B仍是private;
               private繼承:
                           A的public----------B變成private;     
                           A的protected-------B變成private;
                          
                           A的private---------B仍是private;
               //這里說(shuō)的都是直接子類。
               //結(jié)合(7)和以上幾點(diǎn) 各類的訪問(wèn)權(quán)限,尤其是(protected修飾的)就可以明白
               //C++繼承下各個(gè)類之間的訪問(wèn)權(quán)限。
            (8)備注:以上只設(shè)計(jì)單繼承。多繼承未作研究。
            posted on 2008-07-05 23:05 老郭 閱讀(1628) 評(píng)論(8)  編輯 收藏 引用
            評(píng)論:
            • # re: c++的三種繼承方式  老郭 Posted @ 2008-07-05 23:08
              深入淺出MFC中  回復(fù)  更多評(píng)論   

            • # re: c++的三種繼承方式  李剛 Posted @ 2009-08-05 15:24
              你到底懂不懂?  回復(fù)  更多評(píng)論   

            • # re: c++的三種繼承方式   Posted @ 2009-08-05 18:24

              @李剛
              我也是一步步探索摸索過(guò)來(lái)的。應(yīng)該沒(méi)錯(cuò)吧。  回復(fù)  更多評(píng)論   

            • # re: c++的三種繼承方式  SS Posted @ 2010-01-19 17:30
              誤人子弟,你可以回家種田了  回復(fù)  更多評(píng)論   

            • # re: c++的三種繼承方式  laoguo Posted @ 2010-01-28 13:16
              @SS
              別這么說(shuō)呀 老兄。 我也是剛剛學(xué)習(xí)。寫寫而已  回復(fù)  更多評(píng)論   

            • # re: c++的三種繼承方式[未登錄](méi)  rainfish Posted @ 2010-08-28 15:39
              哥們兒,寫文章要確實(shí)知道再寫,否則誤人子弟??!父類的私有變量,子類是看不到的!  回復(fù)  更多評(píng)論   

            • # re: c++的三種繼承方式[未登錄](méi)  rainfish Posted @ 2010-08-28 15:47
              應(yīng)該經(jīng)過(guò)驗(yàn)證后再寫文章,不要想當(dāng)然,這樣害人又害己啊。。。  回復(fù)  更多評(píng)論   

            • # re: c++的三種繼承方式  證詞阿姨 Posted @ 2010-10-05 20:10
              //類B的成員函數(shù)(包括 public,protected,private)都可以訪問(wèn)類A的私有成員變量。 錯(cuò)的,子類不能訪問(wèn)父類的私有成員  回復(fù)  更多評(píng)論   

             
            Copyright © 老郭 Powered by: 博客園 模板提供:滬江博客
            老司机午夜网站国内精品久久久久久久久 | 亚洲国产成人久久笫一页| 精品久久久久久无码中文野结衣| 久久久久久极精品久久久| 久久国产免费直播| 久久本道久久综合伊人| 久久国产精品99精品国产| 久久精品国产99久久香蕉| 久久久久久久久久久| 国产精品成人精品久久久| 一本久久a久久精品vr综合| 久久精品夜色噜噜亚洲A∨| 精品永久久福利一区二区| 亚洲国产香蕉人人爽成AV片久久| 精品一区二区久久| 久久精品99久久香蕉国产色戒| 尹人香蕉久久99天天拍| 精品久久久久久久久久久久久久久| 婷婷久久久亚洲欧洲日产国码AV | 久久91精品综合国产首页| 久久亚洲精品成人av无码网站| 人人狠狠综合88综合久久| 中文字幕亚洲综合久久| 亚洲国产成人久久精品影视| 久久99精品久久只有精品 | 精品无码久久久久国产| 久久天天躁狠狠躁夜夜96流白浆 | 久久久久这里只有精品 | 久久天天日天天操综合伊人av| 99久久精品无码一区二区毛片 | 香蕉久久夜色精品升级完成| 一本色道久久综合| 久久精品国产2020| 国产A三级久久精品| 亚洲精品无码久久久影院相关影片| 无码任你躁久久久久久老妇App| 亚洲国产成人精品无码久久久久久综合| 久久夜色tv网站| 日韩久久久久中文字幕人妻| 亚洲性久久久影院| 色综合久久久久无码专区|