公有派生的格式:class 子類:public 父類{ },父類中有protected、public、private成員函數和成員變量,具體使用方法如下
代碼:
#include <iostream>
using namespace std;
class Father
{
protected:
void Home(){cout<<"調用保護成員!"<<endl;}
public:
void House(){cout<<"公有派生共享成員!"<<endl;}
void set_i(int n){i=n;}
int get_i() const{return i;}
private:
int i;
void PrivateHouse(){cout<<"調用私有成員"<<endl;}
};
class Son:public Father
{
public:
void OurHome(){Home();}//重寫父類中的protected成員函數,
//調用父類中的protected成員變量
};
int main()
{
Son s;
s.House();
s.set_i(666);
cout<<"i="<<s.get_i()<<endl;
//s.Home(); //報錯,s對象不能直接通路父類中的protected成員函數或成員變量,
//而要在子類中重寫一個成員函數來調用父類中的protected成員函數或成員變量
s.OurHome();
//s.PrivateHouse();//報錯,s對象不能通路父類中的private成員變量
return 0;
}