REF:

http://www.runoob.com/cplusplus/cpp-inheritance.html

一、基类和派生类

程序:

  1. #include "stdafx.h"
  2. #include <iostream>
  3. //#include <string>
  4. //#include <vector>
  5. //#include <cctype>
  6. //#include <cstring>
  7.  
  8. //using std::string;
  9. //using std::vector;
  10. //using std::isalpha;
  11. //using std::cin;
  12. using std::cout;
  13. using std::endl;
  14. using namespace std;
  15.  
  16. //基类
  17. class Shape
  18. {
  19. public:
  20. void setWidth(int w)
  21. {
  22. width = w;
  23. }
  24.  
  25. void setHeight(int h)
  26. {
  27. height = h;
  28. }
  29.  
  30. protected:
  31. int width;
  32. int height;
  33. };
  34.  
  35. //派生类
  36. class Rectangle :public Shape
  37. {
  38. public:
  39. int getArea()
  40. {
  41. return (width*height);
  42. }
  43.  
  44. };
  45.  
  46. int main(void)
  47. {
  48. Rectangle Rect;
  49.  
  50. Rect.setWidth(5);
  51. Rect.setHeight(7);
  52.  
  53. //输出对象面积
  54. cout << "Total area:" << Rect.getArea() << endl;
  55.  
  56. return 0;
  57. }

执行结果:

二、访问控制和继承

三、继承类型

四、多继承

C++ 类可以从多个类继承成员

程序:

  1. #include <iostream>
  2.  
  3. using namespace std;
  4.  
  5. // 基类 Shape
  6. class Shape
  7. {
  8. public:
  9. void setWidth(int w)
  10. {
  11. width = w;
  12. }
  13. void setHeight(int h)
  14. {
  15. height = h;
  16. }
  17. protected:
  18. int width;
  19. int height;
  20. };
  21.  
  22. // 基类 PaintCost
  23. class PaintCost
  24. {
  25. public:
  26. int getCost(int area)
  27. {
  28. return area * 70;
  29. }
  30. };
  31.  
  32. // 派生类
  33. class Rectangle: public Shape, public PaintCost
  34. {
  35. public:
  36. int getArea()
  37. {
  38. return (width * height);
  39. }
  40. };
  41.  
  42. int main(void)
  43. {
  44. Rectangle Rect;
  45. int area;
  46.  
  47. Rect.setWidth(5);
  48. Rect.setHeight(7);
  49.  
  50. area = Rect.getArea();
  51.  
  52. // 输出对象的面积
  53. cout << "Total area: " << Rect.getArea() << endl;
  54.  
  55. // 输出总花费
  56. cout << "Total paint cost: $" << Rect.getCost(area) << endl;
  57.  
  58. return 0;
  59. }

执行结果:

  1. Total area: 35
  2. Total paint cost: $2450

  

[RUNOOB]C++继承的更多相关文章

  1. Kotlin 继承

    Kotlin 中所有类都继承该 Any 类,它是所有类的超类,对于没有超类型声明的类是默认超类: class Example // 从 Any 隐式继承 Any 默认提供了三个函数: equals() ...

  2. Exception类的学习与继承总结

    日期:2018.11.11 星期日 博客期:023 Exception类的学习与继承总结 说起来我们上课还是说过的!老师提到了报错问题出现主要分Exception和Error两类!第一次遇见这个问题是 ...

  3. java-线程(runoob.com)

    参考链接: https://www.cnblogs.com/wxd0108/p/5479442.html https://www.cnblogs.com/dolphin0520/p/3920373.h ...

  4. CSS 基础 优先级 选择器 继承

    1.样式优先级 (内联样式)Inline style     >    (内部样式)Internal style sheet     >     (外部样式)External style ...

  5. python类的继承-1

    #!/usr/bin/python3 #类定义 class people: #定义基本属性 name = '' age = 0 #定义私有属性,私有属性在类外部无法直接进行访问 __weight = ...

  6. 从Runoob的Django教程学到的

    Windows 10家庭中文版,Python 3.6.4,Django 2.0.3 这个月开始学习Django,从网上找到了RUNOOB.COM网站找到了一份Django教程,在“认真”学习之后,初步 ...

  7. Java 学习笔记 ------第六章 继承与多态

    本章学习目标: 了解继承的目的 了解继承与多态的关系 知道如何重新定义方法 认识java.lang.object 简介垃圾回收机制 一.继承 继承是java面向对象编程技术的一块基石,因为它允许创建分 ...

  8. Java-Runoob-面向对象:Java 继承-u1

    ylbtech-Java-Runoob-面向对象:Java 继承 1.返回顶部 1. Java 继承 继承的概念 继承是java面向对象编程技术的一块基石,因为它允许创建分等级层次的类. 继承就是子类 ...

  9. Django模板继承后出现logo图片无法加载的问题

    父文件:index.html <!DOCTYPE html> <html lang="en"> <head> <title>{% b ...

随机推荐

  1. 关于mysql 的 autoCommit 参数

    首先描述一下这个参数的作用. 这个参数 默认是开启的. 开启以后再命令敲的sql 会自动提交.如果关闭,就必须手动 commit. 查看 这个 自动提交状态. SELECT @@autocommit; ...

  2. Day 16 模块和包的导入

    包的认识 包通过文件夹来管理一些列功能相近的模块 包:一系列模块的集合体 重点:包中一定有一个专门来管理包中所有模块的文件 包名:存放一系列模块的文件夹名字 包名(包对象)存放的是管理模块的那个文件地 ...

  3. [Mybatis]Mybatis 常用标签及功能整理

    Mybatis中生成动态SQL的标签有四类,分别是: if choose (when, otherwise) trim (where, set) foreach 1.if 当需要动态生成where条件 ...

  4. Hanlp自然语言处理工具之词法分析器

    本章是接前两篇<分词工具Hanlp基于感知机的中文分词框架>和<基于结构化感知机的词性标注与命名实体识别框架>的.本系统将同时进行中文分词.词性标注与命名实体识别3个任务的子系 ...

  5. tar.gz和tar.bz2

    Linux下常见压缩格式为tar.gz和tar.bz2,解压命令如下: .tar.gz tar -zxvf 文件名 .tar.bz2 tar -jxvf 文件名

  6. A记录、CNAME和URL转发区别

    我们在做域名解析时,尤其是很多虚拟主机,大都会使用到CNAME解析,独立主机.VPS则用A记录较多,而URL转发则会在更换域名时用到,从设置效果来看,都是“解析”到一个“其它”URL地址,而实际上它们 ...

  7. excel安装wps后不能正常启动

    1. HKCU\Software\Microsoft\Office\15.0\Word\Options 设置NoReReg REG_DWORD =1 2.重命名C:\Program Files (x8 ...

  8. DLL简单分析与调用方法

    最近为了分析一个没有代码的DLL有哪些函数,找了各种方法. 把结果分享一下:三个方法都没法得到函数的参数,有点让我失望. DLL Export Viewer NikPEViewer Dumpbin 配 ...

  9. bzoj5109: [CodePlus 2017]大吉大利,晚上吃鸡!

    Description 最近<绝地求生:大逃杀>风靡全球,皮皮和毛毛也迷上了这款游戏,他们经常组队玩这款游戏.在游戏中,皮皮 和毛毛最喜欢做的事情就是堵桥,每每有一个好时机都能收到不少的快 ...

  10. tab$被删除恢复指南

    by 蔡建良 2019-2-25 经过长时间摸索,参考网上各类文章.今天终于让我成功恢复了oracle的sys.tab$表,并成功打开了数据库. 将此过程记录下来,与大家共享.如有疑问可联系我QQ: ...