例15.6 派生类引用保护成员。
class stud//声明基类
{protected,//基类保护成员
int num;
char name[10];
char sex;
public,//基类公用成员
void display( )
{cout<<"num,"<<num<<endl;
cout<<"name,"<<name<<endl;
cout<<"sex,"<<sex<<endl; }
}; class student,public stud //声明一个公用派生类
{
private:
int age;
char addr[30];
public:
void show( )
{ cout<<"num,"<<num<<endl; //引用基类的保护成员,合法。
cout<<"name,"<<name<<endl; //引用基类的保护成员,合法。
cout<<"sex,"<<sex<<endl; //引用基类的保护成员,合法。
cout<<"age,"<<age<<endl; //引用派生类的私有成员,合法。
cout<<"address,"<<addr<<endl;} //引用派生类的私有成员,合法。
};
void main( )
{student a; //a是派生类student类的对象。
a.show( ); //合法。show是派生类中的公用成员函数。
a.num=10023; //错误。外界不能访问保护成员。
}
class stud//声明基类
{protected,//基类保护成员
int num;
char name[10];
char sex;
public,//基类公用成员
void display( )
{cout<<"num,"<<num<<endl;
cout<<"name,"<<name<<endl;
cout<<"sex,"<<sex<<endl; }
}; class student,public stud //声明一个公用派生类
{
private:
int age;
char addr[30];
public:
void show( )
{ cout<<"num,"<<num<<endl; //引用基类的保护成员,合法。
cout<<"name,"<<name<<endl; //引用基类的保护成员,合法。
cout<<"sex,"<<sex<<endl; //引用基类的保护成员,合法。
cout<<"age,"<<age<<endl; //引用派生类的私有成员,合法。
cout<<"address,"<<addr<<endl;} //引用派生类的私有成员,合法。
};
void main( )
{student a; //a是派生类student类的对象。
a.show( ); //合法。show是派生类中的公用成员函数。
a.num=10023; //错误。外界不能访问保护成员。
}