您的位置:首页 > 编程语言 > C语言/C++

C++ 公用继承

2017-08-15 23:31 162 查看
C++的继承方式分为 公用继承,私有继承,保护继承

建立一个派生类时,将基类的继承方式指定为public,则为公用继承。

1 公用继承时,基类的公用成员和保护成员仍然为公用成员和保护成员的属性。

2 基类的私有成员,仍为基类的私有成员,只能用基类的成员函数去引用它,所以派生类的成员函数不能引用基类的私有成员。

访问属性
基类的访问属性继承方式
在派生类中的访问属性
private
公用继承不可访问
public公用继承public
protected公用继承protected
附上课本上的小例子,切勿眼高手低

#include <iostream>
#include <string.h>
using namespace std;

class Student //声明基类
{
public: // 公用
void get_value()
{
cin>>num>>name>>sex;
}
void display()
{
cout<<"num: "<<num<<endl;
cout<<"name: "<<name<<endl;
cout<<"sex: "<<sex<<endl;
}
private: //私有
int num;
string name;
char sex;

};

class Student1:public Student //声明派生类
{
public:
void get_value_1()
{
get_value(); //公用继承,所以可以调用基类的公用函数
cin>>age>>addr;
}
void display_1()
{
display(); //公用继承,所以可以调用基类的公用函数
cout<<"age= "<<age<<endl;
cout<<"addr= "<<addr<<endl;
}
private:
int age;
string addr;
};

int main()
{
Student1 stud;
stud.get_value_1();
stud.display_1();
return 0;
}

虽然派生类的成员函数不能访问基类的私有成员,但是可以通过访问基类的公用成员函数,而进一步的输出基类私有成员的值,如display_1()函数调用display函数。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: