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

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

 #include <iostream>

 /* run this program using the console pauser or add your own getch, system("pause") or input loop */
using namespace std;
//定义有两个虚函数的基类
class Base {
public:
//定义两个虚函数
virtual void aFn1(void){
cout<<"aFnl is in Base class."<<endl;
}
virtual void aFn2(void) {
cout<<"aFn2 is in Base class."<<endl;
}
//定义非虚函数
void aFn3(void) {
cout<<"aFn3 is in Base class."<<endl;
}
}; //派生类Derived_1中重新定义了基类中的虚函数aFn1
class Derived_1:public Base
{
public:
void aFn1(void) { //覆盖aFn1()函数
cout<<"aFnl is in First derived class."<<endl;
}
// void aFn3(void) { 语法错误
// cout<<"aFn3 is in First derived class."<<endl;
//}
}; //派生类Derived_2中重新定义了基类中的虚函数aFn2
class Derived_2:public Base{
public:
void aFn2(void){ //覆盖aFn2()函数
cout<<"aFn2 is in Second derived class."<<endl;
}
// void aFn3(void) { 语法错误
// cout<<"aFn3 is in Second derived class."<<endl;
//}
};
//main()函数的定义 int main(int argc, char** argv) { //创建和使用基类Base的对象
Base b;
cout<<"Base:"<<endl;
b.aFn1();
b.aFn2();
b.aFn3();
cout<<"----------------------"<<endl; //创建和使用派生类Derived_1的对象
Derived_1 d1;
cout<<"Derived_1:"<<endl;
d1.aFn1();
d1.aFn2();
d1.aFn3();
cout<<"----------------------"<<endl; //创建和使用派生类Derived_2的对象
Derived_2 d2;
cout<<"Derived_2:"<<endl;
d2.aFn1();
d2.aFn2();
d2.aFn3();
return ;
}

不要忘记最后那个 default 分支的更多相关文章

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

    推荐-高质量C++/C编程指南(林锐) 版本/状态 作者 参与者 起止日期 备注 V 0.9 草稿文件 林锐   2001-7-1至 2001-7-18 林锐起草 V 1.0 正式文件 林锐   20 ...

  2. 高质量C++[转]

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

  3. C#开发规范总结(个人建议)

    .NET开发编程规范 章程序的版式 版式虽然不会影响程序的功能,但会影响可读性.程序的版式追求清晰.美观,是程序风格的重要构成因素. 可以把程序的版式比喻为"书法".好的" ...

  4. 高质量c c++编程

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

  5. .NET编程规范

    .NET开发编程规范 第1章 程序的版式 版式虽然不会影响程序的功能,但会影响可读性.程序的版式追求清晰.美观,是程序风格的重要构成因素. 可以把程序的版式比喻为"书法".好的&q ...

  6. C++/C高质量编程指南-笔记

    复习: C/C++高质量编程指南: [规则1-2-1]为了防止头文件被重复引用,应当用ifndef/define/endif结构产生预处理块. [规则1-2-2]用 #include <file ...

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

    http://man.chinaunix.net/develop/c&c++/c/c.htm#_Toc520634042 高质量C++/C编程指南 文件状态 [  ] 草稿文件 [√] 正式文 ...

  8. C、C++基础和编程风格 (转)

    原文链接 作者:寒小阳时间:2013年8月.出处:http://blog.csdn.net/han_xiaoyang/article/details/10515417.声明:版权所有,转载请注明出处, ...

  9. C/C++编程规范

    1.文件结构 C/C++程序通常分为两个文件,一个文件用于保存程序的声明,一个文件用于保存程序的实现. 1.1 版权和版本的声明 版权和版本的声明位于头文件和定义文件的开头,主要内容有:(1)版权信息 ...

随机推荐

  1. atcoder之A Great Alchemist

    C - A Great Alchemist Time limit : 2sec / Stack limit : 256MB / Memory limit : 256MB Problem Carol i ...

  2. jQuery attr方法修改onclick值

    了通过jQuery的attr修改onclick值. 代码: var js = "alert('B:' + this.id); return false;"; var newclic ...

  3. [k8s]如何处理dockerfile无expose情况下在k8s里暴漏访问

    做镜像时候忘记expose端口了, 或者要做一个通用的镜像, expose端口不固定, 又要在k8s环境里跑并暴漏服务访问,怎么破? 实际上: yaml的 ports: - containerPort ...

  4. angular学习笔记(十二)-控制器

    本篇主要介绍控制器: 控制器在前面的例子中已经大量的用到,它的作用主要是: 控制某块视图,通过$scope向这块视图提供数据,函数,并且监视需要被检测的部分,当发生变化时,做出相应的动作,从而起到控制 ...

  5. Solr学习之四-Solr配置说明之二

    上一篇的配置说明主要是说明solrconfig.xml配置中的查询部分配置,在solr的功能中另外一个重要的功能是建索引,这是提供快速查询的核心. 按照Solr学习之一所述关于搜索引擎的原理中说明了建 ...

  6. asp.net mvc 5 在没有外网win2008R2服务器部署方法

    我在本地用最新的.net 4.5和asp.net mvc 5框架做了一个小应用.本地都测试打包成功. 现在要放到服务器上,这个应用只是内网用.服务器不允许连接外网.看到www.asp.net 没有mv ...

  7. oracle中的字符串函数详解

    花了点时间 复习.了一下字符串函数 希望对初学者有帮助 ----------连接字符串函数-----------------select concat('leiyi','hubei') from du ...

  8. bash deploy.sh 通过bash命令 执行scp -r 命令将本地文件拷贝到服务器

    deploy.sh 文件内容如下 #!/bin/bash #scp -r ./* root@XXXXX:/root/sunSH/xadserver/ function getdir(){ for el ...

  9. jquery 给每个li增加事件

    <ul id = "list-unstyled"> <li>aaa</li> <li>bbb</li> <li&g ...

  10. org.apache.commons

    Apache Commons包含了很多开源的工具,用于解决平时编程经常会遇到的问题,减少重复劳动.我选了一些比较常用的项目做简单介绍. 一.Commons BeanUtils http://jakar ...