不要忘记最后那个 default 分支。

即使程序真的不需要 default 处理, 也应该保留语句 default : break; 这样做并非多此一举,而是为了防止别人误以 为你忘了 default 处理。

 1 #include <iostream>
 2
 3 /* run this program using the console pauser or add your own getch, system("pause") or input loop */
 4 using namespace std;
 5 //定义有两个虚函数的基类
 6 class Base {
 7 public:
 8     //定义两个虚函数
 9     virtual void aFn1(void){
10         cout<<"aFnl is in Base class."<<endl;
11     }
12     virtual void aFn2(void) {
13         cout<<"aFn2 is in Base class."<<endl;
14     }
15     //定义非虚函数
16     void aFn3(void) {
17         cout<<"aFn3 is in Base class."<<endl;
18     }
19 };
20
21 //派生类Derived_1中重新定义了基类中的虚函数aFn1
22 class Derived_1:public Base
23 {
24 public:
25     void aFn1(void) {   //覆盖aFn1()函数
26         cout<<"aFnl is in First derived class."<<endl;
27     }
28     // void aFn3(void) {   语法错误
29     //    cout<<"aFn3 is in First derived class."<<endl;
30     //}
31 };
32
33 //派生类Derived_2中重新定义了基类中的虚函数aFn2
34 class Derived_2:public Base{
35 public:
36     void aFn2(void){   //覆盖aFn2()函数
37         cout<<"aFn2 is in Second derived class."<<endl;
38     }
39     // void aFn3(void) {   语法错误
40     //    cout<<"aFn3 is in Second derived class."<<endl;
41     //}
42 };
43 //main()函数的定义
44
45 int main(int argc, char** argv) {
46
47     //创建和使用基类Base的对象
48     Base b;
49     cout<<"Base:"<<endl;
50     b.aFn1();
51     b.aFn2();
52     b.aFn3();
53     cout<<"----------------------"<<endl;
54
55     //创建和使用派生类Derived_1的对象
56     Derived_1 d1;
57     cout<<"Derived_1:"<<endl;
58     d1.aFn1();
59     d1.aFn2();
60     d1.aFn3();
61     cout<<"----------------------"<<endl;
62
63     //创建和使用派生类Derived_2的对象
64     Derived_2 d2;
65     cout<<"Derived_2:"<<endl;
66     d2.aFn1();
67     d2.aFn2();
68     d2.aFn3();
69     return 0;
70 }

转载于:https://www.cnblogs.com/borter/p/9413518.html

不要忘记最后那个 default 分支相关推荐

  1. git 挽救忘记提交到哪个分支的代码

    2019独角兽企业重金招聘Python工程师标准>>> 代码丢失了,总是让人感觉神情恍惚,跟女朋友漏气一样的心情.没办法,只能找回了,不然昨天的工作就白干了,免不了头头还可能说昨天汇 ...

  2. 高质量C++/C编程指南(林锐)

    版本/状态 作者 参与者 起止日期 备注 V 0.9 草稿文件 林锐 2001-7-1至 2001-7-18 林锐起草 V 1.0 正式文件 林锐 2001-7-18至 2001-7-24 朱洪海审查 ...

  3. 《高质量C/C++编程指南》学习笔记

    这本书只有短短100页,可是却可以称得上是脍炙人口.一年前初读此书时就感觉受益良多,而今再次重读,仍然不肯停顿一口气读完.针对书中指出的一些编程规则和建议,摘录下个人认为比较好的部分. 第1章 文件结 ...

  4. 使用switch的注意

    switch语句的控制流程能够一次通过并执行各个case部分.  就好像:    switch (color)   {   case 1:         printf("reds" ...

  5. 高质量c c++编程

    第1章 文件结构 每个C++/C程序通常分为两个文件.一个文件用于保存程序的声明(declaration),称为头文件.另一个文件用于保存程序的实现(implementation),称为定义(defi ...

  6. 拜读《高质量C/C++编程》笔记

    目录 文件结构 声明版权和版本 头文件的结构 定义文件的结构 头文件的作用 目录结构 补 声明与定义 关键字extern 程序的版式 空行 代码行 对齐 长行拆分 修饰符的位置 注释 类的注释 命名的 ...

  7. 高质量 C++/C 编程指南

    高质量 C++/C 编程指南 文件标识: 文件状态 [ ] 草稿文件 [√]正式文件 [ ] 更改正式文件 当前版本: 1.0 作 者: 林锐 博士 完成日期: 2001 年7 月24 日 高质量 C ...

  8. 高质量C++/C 编程指南

    高质量C++/C 编程指南 文件标识: 当前版本: 1.0 作 者: 林锐 博士 文件状态 [ ] 草稿文件 [√] 正式文件 [ ] 更改正式文件 完成日期: 2001 年7 月24 日 高质量C+ ...

  9. 嵌入式C语言编码规范参考

    1 总则 1.1 目的 本规范主要目的是定义基于嵌入式C 编码的总体规范,确保编码的规范性,提高程序的可维护性.通过遵循共同的编码规范,程序开发人员可以保持代码一贯的风格,提高代码编写的可读性和使用的 ...

最新文章

  1. CISP人才年薪30W起步优先考虑它
  2. hihocoder 1127 : 二分图三·二分图最小点覆盖和最大独立集
  3. 老派程序员——徒手实现伟大成就
  4. (String) 和 String.valueOf() 两种字符串转换的区别
  5. lisp 设计盘形齿轮铣刀_用AutoLISP程序设计盘形齿轮铣刀渐开线齿形
  6. 嵌入式Linux USB WIFI驱动的移植
  7. 软件安全测试:安全左移的痛点与要点
  8. linux nginx安装php5.5,linux下搭建LNMP(linux+nginx+mysql+php)环境之mysql5.5安装
  9. C++伪(pseudo)随机数生成及简单应用
  10. WordPress学习笔记(一)文章操作
  11. Anaconda使用入门
  12. linux拨号上网的命令,CentOS 6.4 电信ADSL拨号上网网络配置
  13. 基于神经网络的预测模型控制器matlab仿真
  14. openoffice java_java代码实现开启openoffice服务和关闭sffice.exe进程
  15. 单片机 switch c语言,单片机入门-C51语言switch-case语句电路应用实例
  16. 资源分享(nlp、kaggle、pytorch、datawhale)
  17. 《十周成为数据分析师》笔记——业务线 第六节 以数据分析为导向的运营体系搭建
  18. WPS表格转换成office用什么软件
  19. 简单c语语言游戏教案大全,大班语言活动教案大全简单趣味
  20. ajax与Java后台互相传数据

热门文章

  1. c语言结束程序符,c语句的结束符是什么
  2. STM32理论 —— 定时器、时钟
  3. 如何理解 Flutter 路由源码设计?| 开发者说·DTalk
  4. uni-app微信小程序接入皮卡智能api进行抠图操作
  5. Linux桌面没有显示CentOS 7 x86_64 图标如何解决
  6. 保罗·乔尔达诺《质数的孤独》——读后感
  7. 服务器文件传输抓包,服务端的抓包
  8. 薪酬管理资料(最新修订版)
  9. 读源码(七)—— ejs
  10. ubuntu 极点五笔/万能五笔 for ibus