①多态的特点是,类中有虚函数。抽象的特点是,类中有纯虚函数。 ②多态的基类可以实例化对象,抽象类不可以实例化对象。如果一个抽象类的派生类没有实现这个抽象类的纯虚函数,那么这个派生类也是个抽象类,也是不能实例化对象。 ③析构函数不是虚函数会有什么影响?在下面程序中,B是A的派生类,有一个A*类型的指针 ...
分类:
其他好文 时间:
2018-08-17 20:54:07
阅读次数:
235
一、类与类之间的关系: 1、类与类之间可能会存在共性 2、类与类之间必定会有差异 3、为了节约开发时间和代码量,我们在设计时可以把类的共项抽象出来形成一个基础类(基类) 4、使用基类+差异生成一个新的类叫派生类 二、继承的语法 1、在设计一个类时如果已有的类中有它需要的成员,它可以从已有的类中继承哪 ...
分类:
编程语言 时间:
2018-08-14 14:42:52
阅读次数:
190
一、虚函数、覆盖、多态 虚函数:成员函数在定义时添加了 virtual 关键字,这种函数叫虚函数 覆盖:如果在子类中实现与父类中的虚函数具有相同的函数,那么子类中的成员函数会覆盖父类中的成员函数 多态:如果子类中的成员函数对父类中的成员进行了覆盖,当一个指向子类的父类指针或引用了子类的父类引用,使用 ...
分类:
编程语言 时间:
2018-08-14 14:27:53
阅读次数:
151
恢复内容开始 时光如流水,很快半个暑假的时间过去了。这一周终于完成了一些前段时间一直做的任务,自我感觉还是比较好的。 这一周学习的内容: 1,复习了高数最后一章,C++的虚函数一章和输入输出流的一部分内容; 2,《军事理论》,《形势与政策》学习完毕; 3,用编程软件练习编写了java,c++的不少程 ...
分类:
其他好文 时间:
2018-08-12 11:57:20
阅读次数:
136
为了支持c++的多态性,才用了动态绑定和静态绑定。 1、对象的静态类型:对象在声明时采用的类型。是在编译期确定的。 2、对象的动态类型:目前所指对象的声明。在运行期决定。对象的动态类型可以更改,但是静态类型无法更改。 关于对象的静态类型和动态类型,看一个示例: 3、静态绑定:绑定的是对象的静态类型, ...
分类:
编程语言 时间:
2018-08-08 22:31:33
阅读次数:
250
一眨眼,一周又过去了。即是平淡的一周,又是忙碌的一周。 这周我学习的内容有: 1,复习了C++的运算符重载和继承的内容,高数级数一章内容; 2,学习了java一章半的内容; 3,学习网络课程; 下周学习: 1,复习高数最后一章内容,C++虚函数的内容; 2,继续学习java; 3,继续学习网络课程; ...
分类:
其他好文 时间:
2018-08-05 10:25:00
阅读次数:
131
1.抽象类定义:含有纯虚函数的类成为抽象类。 ...
分类:
其他好文 时间:
2018-08-04 22:25:45
阅读次数:
136
1、虚函数 原因:通过指针调用成员函数时,只能访问到基类的同名成员函数。在同名覆盖现象中,通过某个类的对象(指针及引用)调用同名函数,编译器会将该调用静态联编到该类的同名函数,也就是说,通过基类对象指针是无法访问派生类的同名函数的,即使这个指针是用派生类对象来初始化的。 虚函数是C++中用于实现多态 ...
分类:
编程语言 时间:
2018-08-03 19:46:48
阅读次数:
123
由于最近公司要开发一个以C++插件机制为主的,主要有一个问题就是C++的二进制兼容性的问题。一旦类使用虚函数,只要随便改动下增删查改下头文件的虚函数,就会导致程序在跑的时候进行乱跳,因为这个时候exe跟dll里面的vtable模型是不一致的刚好程序是使用QT开发了,所以就用了两种方式来保证头文件一致 ...
分类:
编程语言 时间:
2018-08-03 01:07:12
阅读次数:
160
C++的多态性用一句话概括就是:在基类的函数前加上virtual关键字,在派生类中重写该函数,运行时将会根据对象的实际类型来调用相应的函数。如果对象类型是派生类,就调用派生类的函数;如果对象类型是基类,就调用基类的函数 1:用virtual关键字申明的函数叫做虚函数,虚函数肯定是类的成员函数。 2: ...
分类:
编程语言 时间:
2018-08-02 22:41:11
阅读次数:
132