C++类的三种继承方式:public/protected/private
接上文:C++类成员的三种访问权限:public/protected/private
C++ 通过 public、protected、private 三个关键字来控制成员变量和成员函数的访问权限(也称为可见性)。
- public:可以被该类中的函数、子类的函数、友元函数访问,也可以由该类的对象访问;
- protected:可以被该类中的函数、子类的函数、友元函数访问,但不可以由该类的对象访问;
- private:可以被该类中的函数、友元函数访问,但不可以由子类的函数、该类的对象、访问。
同时,公有继承(public)、保护继承(protected)、私有继承(private)是 C++ 的三种继承方式,它们相应改变了基类成员的访问属性。
1、公有继承
公有继承的特点是基类的公有成员和保护成员作为派生类的成员时,它们都保持原来的状态。
因此,派生类的成员函数可以访问基类的公有成员和保护成员;而派生类的对象只可以访问基类的公有成员。
2、保护继承
保护继承的特点是基类的公有成员和保护成员都成为派生类的保护成员。
所以,派生类的成员函数可以访问基类公有成员和保护成员;而派生类的对象不可以访问。
3、私有继承
私有继承的特点是基类的公有成员和保护成员都成为派生类的私有成员。
所以,派生类的成员函数可以访问基类公有成员和保护成员;而派生类的对象不可以访问。
不管哪种继承方式,下面两点都没有改变:
- 基类的私有成员仍然是私有的,只能被本类成员函数和友元访问,不能被派生类访问;
- 保护成员可以被派生类访问,但不能被派生类的对象访问。
相关文章
- Spring Boot中对接Twilio以实现发送验证码和验证短信码
- Spring Boot 3.5:这次更新让你连配置都不用写了,惊不惊喜?
- Spring Boot+Pinot实战:毫秒级实时竞价系统构建
- SpringBoot敏感配置项加密与解密实战
- SpringBoot 注解最全详解,建议收藏!
- Spring Boot 常用注解大全:从入门到进阶
- SpringBoot启动之谜:@SpringBootApplication如何让配置化繁为简
- Springboot集成Kafka原理_spring集成kafka的原理
- Spring Boot中@Data注解的深度解析与实战应用
- 大佬用1000字就把SpringBoot的配置文件讲的明明白白!
