程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> C++入門知識 >> c++中繼承問題小結

c++中繼承問題小結

編輯:C++入門知識

1.c++中繼承有公有繼承,保護繼承,私有繼承
    定義個基類:
    #include<iostream>
    using namespace std;
    class Base
    {
    public:
    void display()
    {
    cout《"huang"《endl;
    }
    protected:
    int x;
    private:
    int y;
    };
    定義一個派生類:
    公有繼承:派生類的對象可以訪問基類中的公有成員,派生類的成員函數可以訪問基類的公有和保護成員,
    基類的公有成員和保護成員作為派生類的成員時,保持其原有狀態
    class A:public Base
    {
    public:
    void print()
    {
    cout《"liglog"《endl;
    display();//派生類內部可以訪問基類的公有成員
    x=0;//派生類內部中可以訪問基類的保護成員
    cout《x《endl;
    //y=1;//派生類內部都不可訪問基類的私有成員
    //cout《y《endl;
    }
    protected:
    int Ax;
    private:
    int Ay;
    };
    保護繼承:派生類的成員函數可以訪問基類的公有成員和保護成員,以及基類的公有成員和保護成員作為派生類的保護成員,保護成員還可被派生類的子類訪問
    class B:protected Base
    {
    public:
    void print()
    {
    cout《"shi"《endl;
    display();//派生類內部可訪問基類的公有成員
    x=1;//派生類內部可訪問基類的保護成員 www.2cto.com
    cout《x《endl;
    //      y=1;//派生類內部不可訪問基類的私有成員
    //      cout《y《endl;
    }
    protected:
    int Bx;
    private:
    int By;
    };
    私有繼承:基類的公有成員和保護成員作為派生類的私有成員,不能被派生類的子類訪問,即不能被往下繼承。
    class C:private Base
    {
    public:
    void print()
    {
    cout《"wo"《endl;
    display();//派生類內部可訪問基類的公有成員
    x=1; //派生類內部可訪問基類的保護成員
    cout《x《endl;
    //      y=1; //派生類內部不可訪問基類的私有成員
    //      cout《y《endl;
    }
    protected:
    int Cx;
    private:
    int Cy;
    };
    int main()
    {
    // 公有繼承部分
    A aObject;
    aObject.display();//派生類外部可以訪問基類的公有成員
    aObject.print();
    // aObject.x=1;//派生類外部不可訪問基類的保護成員
    // aObject.y=3;//派生類外部不可訪問基類的私有成員
    //保護繼承部分
    B bObject;
    // bObject.display();//派生類外部不可訪問基類的公有成員
    bObject.print();
    // bObject.x=1;//派生類外部不可訪問基類的保護成員
    // bObject.y=1;//派生類外部不可訪問基類的私有成員
    //私有繼承部分
    C  cObject;
    //  cObject.display();//派生類外部不可訪問基類的公有成員
    cObject.print();
    //  cObject.x=1;//派生類外部不可訪問基類的保護成員
    //  cObject.y=1;//派生類外部不可訪問基類的私有成員
    return 0;
    }
    哪裡不對的,指點指點,別指指點點。 


摘自  家裡蹲博客 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved