公有派生的格式: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;
}