不要忘记最后那个 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. Scanner类nextInt方法的使用注意点

    一.先看一段正常的代码 1. 一段用Scanner捕获键盘输入的代码: Scanner sc = new Scanner(System.in); // 先读取键盘输入的字符串 System.out.p ...

  2. 使用SQL语句的子查询批量复制表数据

    批量复制表数据这里有两种方法,下面分别来介绍这两种方法: 一.手动创建新表,然后复制数据 如果是要复制整个表的话,可以使用SQL SERVER自动生成CREATE脚本: 然后在脚本中改改表名就可以了, ...

  3. PLSA-概率潜语义分析(二)

    PLSA最大化下面函数: 简化后,最大化下面函数: . ------------------------------------------------------------------------ ...

  4. CentOS配置SSH远程连接

    本文为大家介绍Centos中配置SSH远程连接的方法,只是简单配置,供初学者参考. 1.配置IP#setup 选择 NetWork configuration 选择 Device configurat ...

  5. Exception时信息的记录

    系统总有出现异常的时候,那么出现异常时应该如何处理? 一直以来,我都以为这么处理就足够的: 在日志中打印Exception的堆栈信息,以便排查原因 反馈给用户系统xxx出现问题 package com ...

  6. mysql root 密码忘记

    首次安装mysql后,使用root登录mysql.终端会提示需要输入密码.可是安装的过程并没有提示输入root的密码.怎么办呢?通过修改my.conf配置绕开mysql的授权验证,重置root用户的密 ...

  7. dvwa 源码分析(二) --- dvwaPage.inc.php分析

    在setup.php中,包含了这个文件,所以这里分析这个文件. <?php if( !defined( 'DVWA_WEB_PAGE_TO_ROOT' ) ) { define( 'DVWA S ...

  8. thrift学习之二----学习资料积累

    自己没有仔细安装,从网上搜的安装技术文章,在此做个备份,以防后面用到: http://blog.csdn.net/hshxf/article/details/5567019 http://blog.c ...

  9. 二叉树、红黑树、伸展树、B树、B+树

    好多树啊,程序猿砍树记,吼吼. 许多程序要解决的关键问题是:快速定位特定排序项的能力. 第一类:散列 第二类:字符串查找 第三类:树算法 树算法可以在辅助存储器中存储大量的数据. 二叉树.红黑树和伸展 ...

  10. system v进程间通信整理

    key_t键和ftok函数 三种类型的system v IPC使用key_t值作为他们的名字.头文件<sys/types.h> 把key_t这个数据类型定义为一个整数,它通常是一个至少32 ...