不要忘记最后那个 default 分支
不要忘记最后那个 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 分支相关推荐
- git 挽救忘记提交到哪个分支的代码
2019独角兽企业重金招聘Python工程师标准>>> 代码丢失了,总是让人感觉神情恍惚,跟女朋友漏气一样的心情.没办法,只能找回了,不然昨天的工作就白干了,免不了头头还可能说昨天汇 ...
- 高质量C++/C编程指南(林锐)
版本/状态 作者 参与者 起止日期 备注 V 0.9 草稿文件 林锐 2001-7-1至 2001-7-18 林锐起草 V 1.0 正式文件 林锐 2001-7-18至 2001-7-24 朱洪海审查 ...
- 《高质量C/C++编程指南》学习笔记
这本书只有短短100页,可是却可以称得上是脍炙人口.一年前初读此书时就感觉受益良多,而今再次重读,仍然不肯停顿一口气读完.针对书中指出的一些编程规则和建议,摘录下个人认为比较好的部分. 第1章 文件结 ...
- 使用switch的注意
switch语句的控制流程能够一次通过并执行各个case部分. 就好像: switch (color) { case 1: printf("reds" ...
- 高质量c c++编程
第1章 文件结构 每个C++/C程序通常分为两个文件.一个文件用于保存程序的声明(declaration),称为头文件.另一个文件用于保存程序的实现(implementation),称为定义(defi ...
- 拜读《高质量C/C++编程》笔记
目录 文件结构 声明版权和版本 头文件的结构 定义文件的结构 头文件的作用 目录结构 补 声明与定义 关键字extern 程序的版式 空行 代码行 对齐 长行拆分 修饰符的位置 注释 类的注释 命名的 ...
- 高质量 C++/C 编程指南
高质量 C++/C 编程指南 文件标识: 文件状态 [ ] 草稿文件 [√]正式文件 [ ] 更改正式文件 当前版本: 1.0 作 者: 林锐 博士 完成日期: 2001 年7 月24 日 高质量 C ...
- 高质量C++/C 编程指南
高质量C++/C 编程指南 文件标识: 当前版本: 1.0 作 者: 林锐 博士 文件状态 [ ] 草稿文件 [√] 正式文件 [ ] 更改正式文件 完成日期: 2001 年7 月24 日 高质量C+ ...
- 嵌入式C语言编码规范参考
1 总则 1.1 目的 本规范主要目的是定义基于嵌入式C 编码的总体规范,确保编码的规范性,提高程序的可维护性.通过遵循共同的编码规范,程序开发人员可以保持代码一贯的风格,提高代码编写的可读性和使用的 ...
最新文章
- CISP人才年薪30W起步优先考虑它
- hihocoder 1127 : 二分图三·二分图最小点覆盖和最大独立集
- 老派程序员——徒手实现伟大成就
- (String) 和 String.valueOf() 两种字符串转换的区别
- lisp 设计盘形齿轮铣刀_用AutoLISP程序设计盘形齿轮铣刀渐开线齿形
- 嵌入式Linux USB WIFI驱动的移植
- 软件安全测试:安全左移的痛点与要点
- linux nginx安装php5.5,linux下搭建LNMP(linux+nginx+mysql+php)环境之mysql5.5安装
- C++伪(pseudo)随机数生成及简单应用
- WordPress学习笔记(一)文章操作
- Anaconda使用入门
- linux拨号上网的命令,CentOS 6.4 电信ADSL拨号上网网络配置
- 基于神经网络的预测模型控制器matlab仿真
- openoffice java_java代码实现开启openoffice服务和关闭sffice.exe进程
- 单片机 switch c语言,单片机入门-C51语言switch-case语句电路应用实例
- 资源分享(nlp、kaggle、pytorch、datawhale)
- 《十周成为数据分析师》笔记——业务线 第六节 以数据分析为导向的运营体系搭建
- WPS表格转换成office用什么软件
- 简单c语语言游戏教案大全,大班语言活动教案大全简单趣味
- ajax与Java后台互相传数据