private與protected的使用(繼承與派生)
阿新 • • 發佈:2018-11-06
class base{
private:
int a1;
protected:
int b1;
public:
base(int a, int b) :a1(a), b1(b){}
~base(){};
void show(){
cout << a1 << " " << b1 << " " << endl;
}
};
class base1 :public base
{
public:
int c1;
public:
base1(int a1, int b1, int c1) :base( a1, b1), c1(c1){} //派生類的建構函式
~base1(){}
void show1(){
cout <</* "a1"<<*/" " << b1<< " " <<c1 << " "<<endl; //原本空格前還有a1,報錯,只能直接使用protected而不能使用private
}
};
int main()
{
base a1(5, 9);
a1.show();
base1 a2(60, 8, 6);
a2.show1 ();
a2.show(); //派生類可以呼叫基類函式,而不能反向使用
}
執行結果:
派生類可以直接使用基類的protect而不能使用private