C++ 公用继承

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函数。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值