C++笔记(基础3):继承

C++笔记(基础3):继承

1. 语法
  • 原则:is-a
    父类/子类
    基类/派生类

  • 语法

class 派生类 : [访问限定符] 基类 {
   
  成员
}

如果不写继承访问限定符,默认是private

2. 成员的访问权限
public protected private
类成员函数
友元函数
子类函数 ×
类对象 × ×

子类继承了父类所有的成元变量和成员函数。与访问限定符无关。访问限定符只是限制了访问。
子类访问父类成员变量,把父类成员变量访问限制符,改为protected

  • 继承访问权限变化
    分为子类内部和子类对象两种访问方式。

子类内部访问public继承的父类成员变量

class Base {
   
public:
    int public_data;
protected:
    int protected_data;
private:
    int private_data;
};
class Derive:public Base {
   
public:
    void test() {
   
        cout<< public_data <<endl;
        cout<< protected_data <<endl;
        cout<< private_data <<endl;
    }
};

子类内部访问public继承的父类成员函数

#include <iostream>

using std::cout;
using std::endl;

class Base {
   
public:
    void public_func(){
   };
protected:
    void protected_func(){
   };
private:
    void private_func(){
   };
};
class Derive:public Base {
   
public:
    void test() {
   
        public_func();
        protected_func();
        private_func();
    }
};
  • 子类内部访问父类成员
public protected private
public 继承 ×
protected 继承 ×
private 继承 ×

子类内部访问父类成员,只能访问publicprotected成员。

  • 子类对象访问父类成员
public protected private
public 继承 × ×
protected 继承 × × ×
private 继承 × × ×

子类只有public继承父类的时候,才能访问父类的public成员,其他都不能访问。
通常子类使用public继承父类。

子类对象访问父类成员访问限定符的变化

继承方式\父类成员 public protected private
public 继承 public protected 不可见
protected 继承 protected protected 不可见
private 继承 private private 不可见

在这里插入图片描述

小结

  • public无论类内部还是类对象都可以访问。
  • protected类对象不可访问,类内部与继承类的内部可以访问。
  • private只有类内部可以访问。
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值