公有继承
来源:互联网 发布:深圳佳为软件 编辑:程序博客网 时间:2024/04/25 00:39
-----------------siwuxie095
继承方式
在C++ 中,继承方式一共有 3 种:
三个关键字:
1)public:A 公有继承了 B
2)protected:A 保护继承了 B
3)private:A 私有继承了 B
这里主要介绍 公有继承
公有继承
(1)public 访问限定符在公有继承中的特性
看如下实例:
定义一个人类:Person 和 一个工人类:Worker,工人类公有继承了人类
当工人类 public 的继承了人类后,人类中的数据成员和成员函数在工人类
中是不用再写的,但却存在于工人类中(工人类中红色标记的部分),而且
工人类可以访问人类的数据成员和成员函数
再仔细观察,发现:当Worker 公有继承了 Person 时,Person 中 public
下所有的成员都会被继承到Worker 中 public 下
在使用时:Worker 可以调用父类 Person 的数据成员和成员函数
(2)protected 访问限定符在公有继承中的特性
protected 在不涉及继承的情况下,与 private 的特性是一样的,当涉及到
继承时,protected 就能显示出它的特点了
对刚才的实例作如下修改:
对于Person 中 protected 和 private 下的数据成员,在使用时是不能
直接访问的,因为它们并不在public 下面,计算机就会禁止访问
此外,当实现成员函数eat() 时,假如在其中访问 名字(m_strName)
和 年龄(m_iAge),是可以正常访问的
但当涉及到继承时,public 下的成员继承到 public 下,protected 下
的成员继承到protected 下
继承下来后,就可以通过子类Worker 中的成员函数 work() 来访问从
父类 Person 中继承来的 m_iAge 了
(3)private 访问限定符在公有继承中的特性
public 下的成员继承到 public 下,private 下的成员则被继承到
Worker 下不可见的位置,而不是 private 下
因为被继承到不可见位置,所以使用子类 Worker 中的成员函数 work()
调用父类Person 的数据成员 m_iAge 就是被禁止的,程序也会编译出错
总结:
当两个类产生了继承关系,如果它们的继承方式是public:
1)基类中public 下的成员将被继承到派生类中 public 下
2)基类中protected 下的成员将被继承到派生类中 protected 下
3)基类中private 下的成员在派生类中将无法直接访问,没有被继承到派生类中 private 下
【made by siwuxie095】
- 公有继承
- 公有继承
- 公有继承
- 公有继承
- 公有继承
- C++的公有继承
- 公有继承应用实例
- 公有继承方式public
- 类的公有继承
- c++中的公有继承
- OJ2445输入输出公有继承
- 多态公有继承
- C++:公有继承
- 多态公有继承
- 类的公有继承
- 公有继承和私有继承
- 公有继承和私有继承
- 类继承,公有继承,多态公有继承
- 字符串数组去重
- sqoop常用命令
- classload的详解
- Python 函数定义
- Mybatis整合spring
- 公有继承
- python如何看模块说明的,查模块位置
- 大学生进入公司上班该如何开始新的学习
- C#:判断集合非空Any一定比Count好?
- jquery中如何实现按回车触发按钮事件
- 1052: 【回文数(二)】
- CRUD Operations Using the Generic Repository Pattern and Dependency Injection in MVC
- xUtils封装一个网络工具类
- C# 特性(Attribute)