7.5.2虚基类 如果一个派生类从多个基类派生,而这些基类又有一个共同的基类,则在对该基类中声明的名字进行访问时,可能产生二义性。 如果在多条继承路径上有一个公共的基类,那么在继承路径的某处汇合点,这个公共基类就会在派生类的对象中产生多个基类子对象。 要使这个公共基类在派生类中只产生一个子对象,必须 ...
分类:
其他好文 时间:
2016-07-14 03:16:30
阅读次数:
161
编程规范概要 1、 程序结构清析,简单易懂,单个函数的程序行数不得超过100行。 2、 打算干什么,要简单,直截了当,代码精简,避免垃圾程序。 3、 尽量使用标准库函数和公共函数。 4、 不要随意定义全局变量,尽量使用局部变量。 5、 使用括号以避免二义性。 可读性要求 1、可读性第一,效率第二。 ...
分类:
编程语言 时间:
2016-07-12 15:15:55
阅读次数:
139
1.消息机制 RunTime简称运行时。就是系统在运行的时候的一些机制,其中最主要的是消息机制。 对于C语言,函数的调用在编译的时候会决定调用哪个函数( C语言的函数调用请看这里 )。编译完成之后直接顺序执行,无任何二义性。OC的函数调用成为消息发送。属于动态调用过程。在编译的时候并不能决定真正调用 ...
分类:
移动开发 时间:
2016-07-03 21:45:19
阅读次数:
386
单重继承——一个派生类最多只能有一个基类。 多重继承——一个派生类可以有多个基类 ①、class 类名: 继承方式 基类1,继承方式 基类2,….{….}; ②、派生类同时继承多个基类的成员,更好的软件重用。 ③、可能会有大量的二义性,多个基类中可能包含同名变量或函数。 多重继承中解决访问歧义的方 ...
分类:
其他好文 时间:
2016-06-27 23:13:44
阅读次数:
303
Marching Cubes算法是三维重建算法中的经典算法,算法主要思想是检测与等值面相交的体素单元并计算交点的坐标,然后对不同的相交情况利用查找表在体素单元内构建相应的网格拓扑关系。Marching Cubes算法简单,但是存在一些缺陷:1.模型二义性问题;2.模型特征问题。 对于二义性问题,以2 ...
分类:
编程语言 时间:
2016-06-22 17:16:18
阅读次数:
1073
今天阅读了《构建之法》的关于团队合作和结对开发的内容。我们编写代码是给机器读的,同时也是给我们自己和我们的团队队友读的,所以我们要注意代码的可读性。这样才能更加方便地维护。 代码的原则是“简明,易读,无二义性”。书中的这句话我认为是很有意义的,我在编程的过程中一直没有好好遵从这一点,导致我现在再回过 ...
分类:
其他好文 时间:
2016-06-22 09:23:25
阅读次数:
173
现代软件产业经过几十年的发展,一个软件有一个人完成的情况已经几乎不可见了,软件都是在相互合作中完成的。合作的最小单位是两人。两人一起看代码并发表意见。 代码风格规范: 简明,易读,无二义性(缩进,行宽,括号,断行与空白的{}行,分行,命名,下划线,大小写,注释) 代码设计规范: 函数,goto,错误 ...
分类:
其他好文 时间:
2016-06-17 22:36:04
阅读次数:
215
virtual在C++中有两个重要的用途:一是解决由多继承中父类有相同基类引起的子类中成员的二义性问题,二是实现多态。一、解决二义性1、引起二义性的原因 二义性是在多继承中出现的,如果派生类的父类继承了同一个基类,那么派生类对象访问继承自基类中成员时便会出现二义性。如下代码:#include
#include
class Base
{
public:
int _b;
};
clas...
分类:
编程语言 时间:
2016-06-06 17:11:02
阅读次数:
279
;c++多态之重载,编译期重载 函数重载:不知道会调用哪个函数,在编译期完成重载决定调用哪个函数 ;c++多态之重载,编译期重载 函数重载:不知道会调用哪个函数,在编译期完成重载决定调用哪个函数 ;重载发生条件,(重载要特别注意二义性问题,这样编译器不知道调哪个函数了就会给你报错) 在相同作用域 函 ...
分类:
编程语言 时间:
2016-06-05 21:11:22
阅读次数:
129