[RUNOOB]C++继承
REF:
http://www.runoob.com/cplusplus/cpp-inheritance.html
一、基类和派生类
程序:
- #include "stdafx.h"
- #include <iostream>
- //#include <string>
- //#include <vector>
- //#include <cctype>
- //#include <cstring>
- //using std::string;
- //using std::vector;
- //using std::isalpha;
- //using std::cin;
- using std::cout;
- using std::endl;
- using namespace std;
- //基类
- class Shape
- {
- public:
- void setWidth(int w)
- {
- width = w;
- }
- void setHeight(int h)
- {
- height = h;
- }
- protected:
- int width;
- int height;
- };
- //派生类
- class Rectangle :public Shape
- {
- public:
- int getArea()
- {
- return (width*height);
- }
- };
- int main(void)
- {
- Rectangle Rect;
- Rect.setWidth(5);
- Rect.setHeight(7);
- //输出对象面积
- cout << "Total area:" << Rect.getArea() << endl;
- return 0;
- }
执行结果:
二、访问控制和继承
三、继承类型
四、多继承
C++ 类可以从多个类继承成员
程序:
- #include <iostream>
- using namespace std;
- // 基类 Shape
- class Shape
- {
- public:
- void setWidth(int w)
- {
- width = w;
- }
- void setHeight(int h)
- {
- height = h;
- }
- protected:
- int width;
- int height;
- };
- // 基类 PaintCost
- class PaintCost
- {
- public:
- int getCost(int area)
- {
- return area * 70;
- }
- };
- // 派生类
- class Rectangle: public Shape, public PaintCost
- {
- public:
- int getArea()
- {
- return (width * height);
- }
- };
- int main(void)
- {
- Rectangle Rect;
- int area;
- Rect.setWidth(5);
- Rect.setHeight(7);
- area = Rect.getArea();
- // 输出对象的面积
- cout << "Total area: " << Rect.getArea() << endl;
- // 输出总花费
- cout << "Total paint cost: $" << Rect.getCost(area) << endl;
- return 0;
- }
执行结果:
- Total area: 35
- Total paint cost: $2450
[RUNOOB]C++继承的更多相关文章
- Kotlin 继承
Kotlin 中所有类都继承该 Any 类,它是所有类的超类,对于没有超类型声明的类是默认超类: class Example // 从 Any 隐式继承 Any 默认提供了三个函数: equals() ...
- Exception类的学习与继承总结
日期:2018.11.11 星期日 博客期:023 Exception类的学习与继承总结 说起来我们上课还是说过的!老师提到了报错问题出现主要分Exception和Error两类!第一次遇见这个问题是 ...
- java-线程(runoob.com)
参考链接: https://www.cnblogs.com/wxd0108/p/5479442.html https://www.cnblogs.com/dolphin0520/p/3920373.h ...
- CSS 基础 优先级 选择器 继承
1.样式优先级 (内联样式)Inline style > (内部样式)Internal style sheet > (外部样式)External style ...
- python类的继承-1
#!/usr/bin/python3 #类定义 class people: #定义基本属性 name = '' age = 0 #定义私有属性,私有属性在类外部无法直接进行访问 __weight = ...
- 从Runoob的Django教程学到的
Windows 10家庭中文版,Python 3.6.4,Django 2.0.3 这个月开始学习Django,从网上找到了RUNOOB.COM网站找到了一份Django教程,在“认真”学习之后,初步 ...
- Java 学习笔记 ------第六章 继承与多态
本章学习目标: 了解继承的目的 了解继承与多态的关系 知道如何重新定义方法 认识java.lang.object 简介垃圾回收机制 一.继承 继承是java面向对象编程技术的一块基石,因为它允许创建分 ...
- Java-Runoob-面向对象:Java 继承-u1
ylbtech-Java-Runoob-面向对象:Java 继承 1.返回顶部 1. Java 继承 继承的概念 继承是java面向对象编程技术的一块基石,因为它允许创建分等级层次的类. 继承就是子类 ...
- Django模板继承后出现logo图片无法加载的问题
父文件:index.html <!DOCTYPE html> <html lang="en"> <head> <title>{% b ...
随机推荐
- 关于mysql 的 autoCommit 参数
首先描述一下这个参数的作用. 这个参数 默认是开启的. 开启以后再命令敲的sql 会自动提交.如果关闭,就必须手动 commit. 查看 这个 自动提交状态. SELECT @@autocommit; ...
- Day 16 模块和包的导入
包的认识 包通过文件夹来管理一些列功能相近的模块 包:一系列模块的集合体 重点:包中一定有一个专门来管理包中所有模块的文件 包名:存放一系列模块的文件夹名字 包名(包对象)存放的是管理模块的那个文件地 ...
- [Mybatis]Mybatis 常用标签及功能整理
Mybatis中生成动态SQL的标签有四类,分别是: if choose (when, otherwise) trim (where, set) foreach 1.if 当需要动态生成where条件 ...
- Hanlp自然语言处理工具之词法分析器
本章是接前两篇<分词工具Hanlp基于感知机的中文分词框架>和<基于结构化感知机的词性标注与命名实体识别框架>的.本系统将同时进行中文分词.词性标注与命名实体识别3个任务的子系 ...
- tar.gz和tar.bz2
Linux下常见压缩格式为tar.gz和tar.bz2,解压命令如下: .tar.gz tar -zxvf 文件名 .tar.bz2 tar -jxvf 文件名
- A记录、CNAME和URL转发区别
我们在做域名解析时,尤其是很多虚拟主机,大都会使用到CNAME解析,独立主机.VPS则用A记录较多,而URL转发则会在更换域名时用到,从设置效果来看,都是“解析”到一个“其它”URL地址,而实际上它们 ...
- excel安装wps后不能正常启动
1. HKCU\Software\Microsoft\Office\15.0\Word\Options 设置NoReReg REG_DWORD =1 2.重命名C:\Program Files (x8 ...
- DLL简单分析与调用方法
最近为了分析一个没有代码的DLL有哪些函数,找了各种方法. 把结果分享一下:三个方法都没法得到函数的参数,有点让我失望. DLL Export Viewer NikPEViewer Dumpbin 配 ...
- bzoj5109: [CodePlus 2017]大吉大利,晚上吃鸡!
Description 最近<绝地求生:大逃杀>风靡全球,皮皮和毛毛也迷上了这款游戏,他们经常组队玩这款游戏.在游戏中,皮皮 和毛毛最喜欢做的事情就是堵桥,每每有一个好时机都能收到不少的快 ...
- tab$被删除恢复指南
by 蔡建良 2019-2-25 经过长时间摸索,参考网上各类文章.今天终于让我成功恢复了oracle的sys.tab$表,并成功打开了数据库. 将此过程记录下来,与大家共享.如有疑问可联系我QQ: ...