一.虚基类——在继承方式(public / private)class B1: virtual public B0{};作用:防止多重继承中二义性,保证成员唯一标识是核心。【比较】 作用域分辨符:: vs 虚基类 相同:都是为了保证 唯一标识成员 不同:①“::” 在派生类中,同名成员有多...
分类:
编程语言 时间:
2014-06-18 08:52:01
阅读次数:
222
一、我们首先看一个例子,一个孙子类继承了两个父亲类,两个父亲类同时继承同一个爷爷类。
#include
using namespace std;
class Parent
{
public:
int p_; // p将会被所有的子类继承,也将是二义性的根源
Parent(int p)...
分类:
编程语言 时间:
2014-06-05 06:00:45
阅读次数:
217
1、虚基类的作用从上面的介绍可知:如果一个派生类有多个直接基类,而这些直接基类又有一个共同的基类,则在最终的派生类中会保留该间接共同基类数据成员的多份同名成员。在引用这些同名的成员时,必须在派生类对象名后增加直接基类名,以避免产生二义性,使其惟一地标识一个成员,如
c1.A::display( )....
分类:
编程语言 时间:
2014-06-02 18:20:05
阅读次数:
275
模板与泛型编程--重载与函数模板引言: 函数模板可以重载:可以定义有相同名字但参数数目或类型不同的多个函数模板,也可以定义与函数模板有相同名字的普通非模板函数。 但是,声明一组重载函数模板不保证可以成功调用它们,重载的函数模板可能会导致二义性。一、函数匹配与函数模板如果重载函数中既有普通函数又有函数模板,确定函数调用的步骤如下:1.为这个函数名建立候选函数集合,包括: a.与被调用函数名字相同的任...
分类:
编程语言 时间:
2014-05-26 04:34:12
阅读次数:
317
一、优化的品质
1.简练;2.可读性强;3.模块化;4.层次性;5.设计良好;6.高效;7.优雅;8.清晰。
二、常见的编程规范
1. 基本要求
· 结构清晰,简单易懂,单个函数不超过100行;目标明确,代码精简
· 尽量使用标准库函数和公共函数
· 不随意定义全局变量,尽量使用局部变量
· 使用括号,以避免二义性
2. 可读性要求
· 可读性第一,效率第二
· 保证注释与代码...
分类:
移动开发 时间:
2014-05-15 14:59:33
阅读次数:
468
每个人都有思想。有些人相信自由经济学,有些人相信来生。有些人甚至相信COBOL是一种真正的程序设计语言。C++也有一种思想:它认为潜在的二义性不是一种错误。ambiguity这是潜在二义性的一个例子:class
B; // 对类B提前声明 // ...
分类:
编程语言 时间:
2014-05-12 05:12:04
阅读次数:
273
1.在编写程序时,尽量减少内存的开销。
2.注释的内容要清楚明了,含义准确,防止二义性。
3.注释不要用缩写。
4.注释应与描述的代码相近,对代码的注释应放在代码的上方或右方。
5.编写程序使用缩进可以减少很多不必要的语法错误,同时也非常有利于调试。
6.在编辑实现一定功能的C语言程序时,首先要有一个清晰的思路,例如需要实现什么功能,关键是什么。语句流怎样控...
分类:
编程语言 时间:
2014-05-07 08:57:16
阅读次数:
291