0
点赞
收藏
分享

微信扫一扫

c++ 继承

飞空之羽 2022-03-16 阅读 72
c++
  • 基本概念

    class Base {
    public:
        // 公有成员
    protected:
        // 受保护成员
    private:
        // 私有成员
    }
    

    从已有类派生出新类时,可以在派生类内完成以下功能:
    (1)可以增加新的数据成员
    (2)可以增加新的成员函数
    (3)可以对基类的成员进行重定义
    (4)可以改变基类成员在派生类中的访问属性

    继承方式限定了基类成员在派生类中的访问权限,包括 public、private和protected。如果不写,==默认为 private,==不同的继承方式会影响基类成员在派生类中的访问权限;
    派生类会继承基类中除构造函数和析构函数之外的所有成员;
    在一个类中,public、protected、private 可以出现多次;

  • public继承

    1、基类中所有 public 成员在派生类中为 public 属性;
    2、基类中所有 protected 成员在派生类中为 protected 属性;
    3、基类中所有 private 成员在派生类中不能使用还是私有的,不能在派生类的成员函数中访问或调用,只能通过基类的protected和public接口访问
    4、对象只能调用其public部分的成员;
    5、基类的 private 成员是能够被继承,占用派生类空间,但是不能被访问;

  • protected继承方式

    1、基类中的所有 public 成员在派生类中为 protected 属性;
    2、基类中的所有 protected 成员在派生类中为 protected 属性;
    3、基类中的所有 private 成员在派生类中不能使用还是私有的,不能在派生类的成员函数中访问或调用,只能通过基类的protected和public接口访问
    4、protected 成员和 private 成员类似,也不能通过对象访问,但是派生类中可以使用;
    5、基类的 private 成员是能够被继承,占用派生类空间,但是不能被访问;
    6、可以被该类中的函数、派生类的函数、友元函数访问,但不可以由该类的对象访问,派生类对象也不能访问;

  • private继承方式

    1、基类中的所有 public 成员在派生类中均为 private 属性;
    2、基类中的所有 protected 成员在派生类中均为 private 属性
    3、基类中的所有 private 成员在派生类中不能使用,不能在派生类的成员函数中访问或调用,只能通过基类的protected和public接口访问;
    4、可以被该类中的函数、友元函数访问,但不可以由子类的函数、该类的对象访问,派生类对象也不能访问;/font>

举报

相关推荐

C++ | 继承

c++(继承)

C++~继承

C++——继承

【C++】继承

C++ - 继承

0 条评论