OOP:概述 继承:通过继承联系在一起的类构成一种层次关系,通常在层次关系的根部有一个基类,其他类则直接或间接从基类继承而来,这些继承得到的类称派生类,基类负责定义层次关系中所有类共同拥有的成员,而每个派生类定义各自特有的成员。虚函数:在C++语言中,基类讲类型相关的函数与派生类不做直接继承的函数关 ...
分类:
编程语言 时间:
2018-04-15 18:06:44
阅读次数:
175
关于源代码 Ask:想看看lammps源代码里面是如何计算原子间相互作用的,结果看来看去都没发现哪块是计算相互作用的,lammps的源代码写的很不容易看清楚啊。 从主程序main.cpp出发,里面除去MPI相关的函数,和创建一个lammps实例,剩下就一句话 lammps->input->file( ...
分类:
其他好文 时间:
2018-04-12 19:52:41
阅读次数:
645
#define MANIPULATOR_W 0x01#define MANIPULATOR_A 0x02#define MANIPULATOR_S 0x04#define MANIPULATOR_D 0x08#define MANIPULATOR_R 0x10#define MANIPULATOR_ ...
分类:
其他好文 时间:
2018-04-08 18:11:31
阅读次数:
748
看到了很好的解释,先mark下,有空整理。 虚函数实现多态与多重继承乌索普的回答 很有收获,毕竟我觉得多态才是面向对象的灵魂。 这样的设计也让人得以理解为什么虚函数会像成员变量一样与对象绑定。 C++成员函数在内存中的存储方式 ...
分类:
编程语言 时间:
2018-04-07 12:56:13
阅读次数:
139
QPainter绘图 重写绘图事件,虚函数 如果窗口绘图,必须放在绘图事件里实现 绘图事件内部自动调用,窗口需要重绘的时候,状态改变 绘图设备(QPixmap,QImage,QBitmap,QPicture) QPixmap图片背景透明,针对屏幕进行优化了,和平台相关,不能对图片进行修改 QImag ...
分类:
其他好文 时间:
2018-04-06 00:15:44
阅读次数:
494
从已有的类派生出新的类,叫继承。派生类继承了基类的特征和方法。 公有继承:基类的公有成员成为派生类的公有成员;基类的私有成员成为派生类的一部分,但只能通过基类成员方法和保护方法访问。 派生类构造函数,通过成员初始化列表的方式指明使用的基类构造函数,并传递基类信息。非构造函数不能使用初始化列表语法。 ...
分类:
编程语言 时间:
2018-04-05 15:29:37
阅读次数:
224
c++通过纯虚函数(pure virtual function)提供未实现的函数。纯虚函数申明结尾处=0。注意纯虚函数本身就符号虚函数,所以前面也要有virtual。 有纯虚函数的类叫做ABC(abstract base class),迫使派生类遵循A ...
分类:
其他好文 时间:
2018-04-02 00:11:38
阅读次数:
154
分清虚函数和纯虚函数的区别:(1).虚函数是函数前加关键字virtual,一般定义格式为:virtual 类型 函数名 (参数表){ 函数体 } (2).纯虚函数的生命格式为: virtual 类型 函数名 (参数表)=0; 即没有函数体。 (3).带有纯虚函数的类为抽象类: 例:class 类名{ ...
分类:
编程语言 时间:
2018-03-30 21:35:54
阅读次数:
136
下面的图片都是用的vs编译器生成的 对于这种多继承的类TestClassD D的构造是先调用C的构造再调用B的构造 C和B的构造函数又调用了A的构造函数 然后再构造D的成员 A中有虚函数fun A构造时 创建了虚函数表vftable 并且 在类中创建了vfptr的成员指向vftable 派生类B构造 ...
分类:
其他好文 时间:
2018-03-27 23:01:36
阅读次数:
188
编译时多态:重载 运行时多态:虚函数。根据运行时的类别获取正确的虚指针,从而定位正确的虚函数。 虚函数指针:指向虚函数表。多重继承则含有多个基类的虚函数指针。 虚函数表:函数指针集合。普通继承,子类沿用父类的虚函数表,可以修改基类的虚函数表。 注意:虚函数依赖虚指针,虚指针位于对象内存空间。因此,多 ...
分类:
编程语言 时间:
2018-03-27 17:21:57
阅读次数:
213