讀幾個小程序瞭解c++:Part 03(派生類和繼承)

#include <iostream>
using namespace std;

///   基類中的成員    公有派生類    私有派生類     保護派生類
///     私有成員     不可直接訪問  不可直接訪問   不可直接訪問
///     公有成員        public        private        protected
///     保護成員       protected      private        protected

class Base{
public:
    Base(){
        cout<<"Constructor installed."<<endl;
    }
    void set_data(int x){
        data=x;
    }
    int get_data(){
        return data;
    }
protected:
    int data;
};

class Test{
public:
    int op;
};

class Inherit: public Base, private Test{         ///多重繼承:公有繼承Base,私有繼承Test
public:
    Inherit(int x0):Base(){                       ///派生類構造函數定義時可以使用基類的構造函數
        rnk=x0;
    }
    Inherit(){}
    void set_op(int x){                           ///繼承Test裏的成員
        op=x;
    }
    int double_data(){                            ///繼承Base裏的成員
        return get_data()*2;
    }
    int get_op(){                                 ///繼承Test裏的成員
        return op;
    }
private:
    int rnk;
};
void function01(){
    Inherit A(13);
    A.set_data(2);
    A.set_op(99);
    cout<<A.double_data()<<endl<<A.get_op()<<endl;
}
int main(){

    function01();
    return 0;
}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章