多态的实现效果 同样的调用语句有多种不同的表现形态 多态实现的三个条件 有继承、有virtual重写、有父类指针(引用)指向子类对象。 多态的C++实现 通过在基类的函数前加上virtual关键字,在派生类中重写该函数,运行时将会根据对象的实际类型来调用相应的函数。如果对象类型是派生类,就调用派生类 ...
分类:
编程语言 时间:
2018-04-21 17:46:44
阅读次数:
147
没有系统性学习C++,所以工作中使用特别别扭,也不是不会,也不是不懂,但读代码和写代码时总有点生疏感。所以该补还是补起来,现在想想还是学生时代学习的知识更加扎实,那是融入骨子里的。 virtual函数,子类可以Overide‘ 定义C++中虚函数的关键字 在使用virtual之前,C++对成员函数使 ...
分类:
编程语言 时间:
2018-04-17 20:50:50
阅读次数:
209
base为基类 derived为派生类 派生类有三个成员函数,其中两个是自定的:a和b,第三个c是继承于基类的,当调用a时,先查看派生类是否有a的定义:base::a called b同理得::base::b called 但是当调用c时,派生类中没有定义这个成员函数,所以转到基类中寻找,即得到:b ...
分类:
其他好文 时间:
2018-04-17 19:57:51
阅读次数:
174
一、C++中的对象模型 1、 概念 语言中直接支持面向对象程序设计的部分; 对于各种支持的底层实现机制。(没看懂……) 2、 类中的成员分类 a) 成员函数 i. static function ii. non static function iii. virtual function b) 数据成 ...
分类:
编程语言 时间:
2018-04-16 14:40:27
阅读次数:
210
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