函数重载 函数重载可以使一个函数名具有多种功能,即具有“多种形态”,这种特性称为多态性。 C++的多态性又被直观地称为“一个名字,多个函数”。源代码只指明函数调用,而不说明具体调用哪个函数。编译器的这种连接方式称为动态联编或迟后联编。在动态联编中,直到程序运行才能确定调用哪个函数(动态联编需要虚函数 ...
分类:
编程语言 时间:
2017-10-18 11:48:24
阅读次数:
184
参考:http://www.weixueyuan.net/view/6376.html 总结: 在C++中,可以通过抽象基类来实现公共接口 纯虚成员函数没有函数体,只有函数声明,在纯虚函数声明结尾加上“=0”表明此函数为纯虚成员函数。 包含纯虚成员函数的类即为抽象基类,之所以说它抽象,那是因为它无法 ...
分类:
编程语言 时间:
2017-10-18 10:05:26
阅读次数:
194
C++类内存分布 来源 http://www.cnblogs.com/jerry19880126/p/3616999.html 书上类继承相关章节到这里就结束了,这里不妨说下C++内存分布结构,我们来看看编译器是怎么处理类成员内存分布的,特别是在继承、虚函数存在的情况下。 工欲善其事,必先利其器,我 ...
分类:
编程语言 时间:
2017-10-17 21:49:01
阅读次数:
272
前言 C++中的虚函数的作用主要是实现了多态的机制。关于多态,简而言之就是用父类型别的指针指向其子类的实例,然后通过父类的指针调用实际子类的成员函数。这种技术可以让父类的指针有“多种形态”,这是一种泛型技术。所谓泛型技术,说白了就是试图使用不变的代码来实现可变的算法。比如:模板技术,RTTI技术,虚 ...
分类:
编程语言 时间:
2017-10-16 12:23:40
阅读次数:
206
参考:http://www.weixueyuan.net/view/6373.html 总结: 构造函数是不能声明为虚函数的,析构函数可以被声明为虚函数。 将基类的析构函数声明为虚函数之后,派生类的析构函数也自动成为虚析构函数。 未将基类的析构函数定义为虚函数,如下面的例子的情况可能会出现内存泄漏。 ...
分类:
编程语言 时间:
2017-10-15 14:25:43
阅读次数:
121
参考:http://www.weixueyuan.net/view/6372.html 总结: 在C++中通过虚成员函数表vtable实现多态,虚函数表中存储的是类中虚函数的入口地址。 使用多态会降低程序运行效率,使用多态的程序会使用更多的存储空间,存储虚函数表等内容,而且在调用函数时需要去虚函数表 ...
分类:
编程语言 时间:
2017-10-15 11:30:28
阅读次数:
216
QCloseEvent事件是指,当你鼠标点击窗口右上角的关闭按钮时,所触发的函数.如果你没有重写virtualcloseEvent(QCloseEvent*event);这个虚函数的话,系统是默认接受关闭事件的,所以就会关闭窗体,但有的时候,比如在记事本程序中,但你的文本未保存时,点击关闭按钮,就会跳出是..
分类:
其他好文 时间:
2017-10-14 15:00:51
阅读次数:
1519
数据库的acid,表(姓名,学号,课程,成绩)写sql找出每门课程分数的前三名 手写算法题问的:找出数组中出现次数超过一半的数字。 一面 自我介绍 项目介绍 项目提问 指针和数组的区别? 数组分为静态数组和动态数组 静态数组:int a[10] 容量已固定 动态数组: int a[] b=new i ...
分类:
其他好文 时间:
2017-10-13 23:51:56
阅读次数:
161
面向对象具有三个特征:数据抽象,继承和动态绑定,用类进行数据抽象,用类派生一个类继承另外一个类,派生类继承基类的成员,动态绑定使编译器能够决定是使用基类中定义的函数还是派生中定义的函数, 1.继承 继承使派生类(dervied class)能够继承基类(base class)定义成员,可以无需改变与 ...
分类:
编程语言 时间:
2017-10-13 21:25:30
阅读次数:
284
引用计数进行管理资源,我们最熟悉的就是智能指针。在c++11之前,我们的对象都从一个引用计数管理资源的类继承,这个类有一个引用计数器,两个配对的操作addref和delref,当delref将引用计数器减为0时,会自动调用delete。这种机制要求对象必须实例在堆上,也就是new创建。当决定继承一个 ...
分类:
其他好文 时间:
2017-10-13 18:03:30
阅读次数:
127