C++类的使用(四)—— 继承
一、继承
有时候,我们想要写一个类实现某些功能,但又想同时具备另一个类的功能,这个时候,我就要用到类的第二大特点——继承
class ClassA
{public:ClassA(int x):_x(x){}void setX(int x){_x = x;}int getX(){return _x;}protected:int _x;
};
注意到我用的是protected
而不是private
,这是为继承做准备
class ClassB: public ClassA
{public:ClassB(int x, int y)_y(y){setX(x);}void setY(int y){_y = y;}int getY(){return _y;}protected:int _y;
};
在ClassB
的定义中,加上了: public ClassA
(:
后的空格不一定要)
这代表ClassB
使用public
方式继承于ClassA
这会将ClassA
的public
部分作为自己的public
将ClassA
的protected
部分作为自己的protected
但是不可以继承ClassA
的private
部分
private
与protected
的差异就在此,所以我建议用protected
类似地,还有protected
和private
继承,将第一行中的public
进行替换即可,其含义如下表
public | protected | private | |
---|---|---|---|
public继承 | public | protected | 无法继承 |
protected继承 | protected | protected | 无法继承 |
private继承 | private | private | 无法继承 |
本序列的文章:
C++类的使用(一)
C++类的使用(二)—— explicit构造与const成员变量赋值
C++类的使用(三)—— 封装
C++类的使用(四)—— 继承
C++类的使用(五)—— 多态
C++类的使用(六)—— 判断继承
C++类的使用(四)—— 继承相关推荐
- android studio 导入模块SDK 以及该模块中继承application的类与原工程继承application的类存在冲突 解决方法
android studio 导入模块SDK 以及该模块中继承application的类与原工程继承application的类存在冲突 解决方法 导入某修改后的海康视频SDK(老师给的),并修改相关文 ...
- 零基础入门学习Python(36) 类和对象:继承
继承的语法结构 class DervieClassName(BaseClassName) 被继承的类我们称之为"父类","基类"或"超类", ...
- 基类与接口混合继承的声明问题 [C#, Design] -Allen Lee's Magic
Updated on Friday, November 19, 2004 Written by Allen Lee 1. 问题初现 今天,查看<接口继承的声明问题>一文的反馈,发现Ninp ...
- python-子类和派生、继承
新式类和经典类得区别: ################################################### class ClassicClass(): pass class New ...
- Python 类的定义、继承及使用对象
Python 类的定义.继承及使用对象 作者:保⑩洁 本文转载:http://www.17jo.com/program/python/base/ClassUse.html Python编程中类的概念可 ...
- 7.类的访问控制和继承
在C++中,我们使用访问说明符加强类的封装性. 访问说明符有:public.private.protected 1)定义在public说明符之后的成员在整个程序内可以被访问,public成员定义类的接 ...
- python 参数类型的多态_【Python】面向对象:类与对象\封装\继承\多态
六.Python面向对象--类与对象\封装\继承\多态 1.什么是面向对象编程 1.1 程序设计的范式:程序可控,易于理解 1.2 抽象并建立对象模型 1.3 程序是不同对象相互调用的逻辑.每个对象在 ...
- Scala学习之路 (六)Scala的类、对象、继承、特质
一.类 1.类的定义 scala语言中没有static成员存在,但是scala允许以某种方式去使用static成员 这个就是伴生机制,所谓伴生,就是在语言层面上,把static成员和非static成员 ...
- web策略类游戏开发(四)一个可以承载万人在线的架构
web策略类游戏开发(四)一个可以承载万人在线的架构 Webgame现在已经开始需要进入大统一服务器时代,每个游戏区域容纳的玩家数量将从现在的几万人发展到几十万人,因此在新的背景下,webgame如何 ...
- 多重继承_Python 和 Java 基础对比 10 —— 类的封装、继承和多态
@Python大星 一.Python 类的封装.继承和多态 封装 继承 Python 支持多父类的继承机制,所以需要注意圆括号中基类的顺序,若是基类中有相同的方法名,并且在子类使用时未指定,Pytho ...
最新文章
- Omnispace 收藏夹
- pojo 带参构造函数_带有Java Pojo作为输入输出示例的AWS Lambda函数
- 大数据,从青铜到王者
- mysql note级别_Mysql5.7 的错误日志中最常见的note级别日志解释
- 蓝桥杯 PREV-37 历届试题 分巧克力
- html段落排版,美化网页段落排版的css教程
- CSS绝对定位元素居中的几种方法
- 黑马程序员——农夫过河问题
- 百度万年历API(主要获取节假日和调休工作日数据)
- AD15 PCB笔记
- 苹果无线网服务器绕过id,最新绕过苹果id方法
- Eclipse安装SVN检出项目插件Subclipse失败过程记录
- 音频格式处理--SOX
- 调用微信扫码实现扫一扫签到
- VS2012中的R6002 - floating point support not loaded错误
- 29.Android展示PDF文件
- Android中检测应用是否安装
- wxpython下载安装过程
- 喜马拉雅xm文件转换为mp3?
- cisco anyconnect 下载(windows、macos、iOS、Android、linux)