为了解决二义性问题通常都有三种不同的方法 1.域作用分辨作用符 2。名字支配原则 3.虚基类
虚继承和虚基类的定义是非常的简单的,同时也是非常容易判断一个继承是否是虚继承 的,虽然这两个概念的定义是非常的简单明确的,但是在C++语言中虚继承作为一个比较生 僻的但是又是绝对必要的组成部份而存在着,并且其行为和模型均表现出和一般的继承体系 之间的巨大的差异(包括访问性能上的差异),现在我们就来彻底的从语言、模型、性能和 应用等多个方面对虚继承和虚基类进行研究。     首先还是先给出虚继承和虚基类的定义。     虚继承:在继承定义中包含了virtual关键字的继承关系;     虚基类 ...
原文地址:http://blog.sina.com.cn/u/1082089673 函数指针数组的妙用            笔者在开发某软件过程中遇到这样一个问题,前级模块传给我二进制数据,输入参数为 char* buffer和 int length,buffer是数据的首地址,length表示这批数据的长度。数据的特点是:长度不定,类型不定,由第一个字节(buffer[0])标识该数据的类型,共有256(28 )种可能性。我的任务是必须对每一种可能出现的数据类型都要作处理,并且我的模块包 ...
学好C++,为祖国四化做贡献。 简言之:Java都是值传递(pass-by-value),而C++中包括值传递(pass-by-value)和引用传递(pass-by-reference)。 先说Java,先做几点说明: 在Java中,无非就是两种类型,即基本类型和从Object继承下来的对象类型,而对象类型又包括String这种一旦初始化就不可改变内容的类型和BufferString这种可以初始化后可 以改变内容的类型。 然后看一下代码示例:   java 代码 package test;      ...
当指针持有0值时,表明它没有指向任何对象 cpp 代码 const double minWage = 9.8;    const double *pt = 0;    pt = &minWage;   
常量对象 今天学习了一下c++的常量,单独的常量通常很容易理解,无非是定义的变量初始化后不允许修改,但和指针引用结合起来就比较难理解了,下面是根据C++primer写的一些测试,算是自己对const的理解; 在实际应用中,指向const对象的指针常用在函数的形参,例如 cpp 代码 int strcmp(const char * str1,const char * str2)    这样被传递给函数的实际对象在函数中不会被修改 cpp 代码 ...