码迷,mamicode.com
首页 >  
搜索关键字:virtual函数    ( 149个结果
effective C++中条款37:绝不重新定义继承而来的缺省参数值
virtual 函数会动态绑定,而virtual函数的缺省参数值是静态绑定的。用一个base类型的指针p去指向一个derived类对象,通过p调用虚函数时,会动态绑定到实际所指对象中的函数;用一个derived类型的指针p2指向一个derived对象,由p2调用函数时,直接就是调用的derived中的函数,其参数值也是derived类中函数对应的参数值。 #include using name...
分类:编程语言   时间:2015-06-25 12:26:23    阅读次数:155
Effective C++ 条款9
绝不在构造和析构过程中调用virtual函数本节有个核心的知识点就是在构造函数和析构函数中,virtual函数失去多态性。 试想一下,假设此时在构造函数和析构函数中,virtual函数没有失去多态性,会出现什么问题。我们知道构造次序吧,先构造base类部分,再构造derived部分。 那么在base类构造过程中,derived的参数都没有被初始化。virtual函数一旦具...
分类:编程语言   时间:2015-06-22 13:44:44    阅读次数:155
Effective C++条款7
为多态基类声明virtual析构函数本节重点大家只要明白为什么要声明析构函数为virtual函数,即声明virtual析构函数的意义。我们知道,析构函数的作用就是实现多态polymorphic。那么如果我们动态创建一个derived派生类,由基类指针接受该派生类地址。那么我们如何释放这个派生类的内存? 如下代码:class A { //........... };class B:public A...
分类:编程语言   时间:2015-06-22 11:11:57    阅读次数:123
c++类继承-小记
class A{public: A(){print1();} //在构造函数里面调用virtual函数的做法本身不对,这里只为测试 virtual void print1(){ std::cout << "A print1" << std::endl; }};clas...
分类:编程语言   时间:2015-06-20 16:58:34    阅读次数:159
C++对象模型之详述C++对象的内存布局
本文主要讨论继承对于对象的内存分布的影响,包括:继承后类的对象的成员的布局、继承对于虚函数表的影响、virtual函数机制如何实现、运行时类型识别等。由于在C++中继承的关系比较复杂,所以本文会讨论如下的继承情况: 1)单一继承 2)多重继承 3)重复继承 4)单一虚拟继承 5)钻石型虚拟继承...
分类:编程语言   时间:2015-06-08 11:44:14    阅读次数:177
Effective C++条款37
不要重复定义virtual 函数中的参数缺省值,如果重复定义,会出现程序调用过程超乎常理的结果。大家看如下代码:#include using namespace std;class Shape { public: enum ShapeColor{Red,Green,Blue}; virtual void Drew(ShapeColor color=Red)...
分类:编程语言   时间:2015-06-02 09:20:19    阅读次数:187
简单工厂模式
【1】什么是简单工厂模式?核心思想:用一个工厂来根据输入的条件产生不同的类,然后根据不同类的virtual函数得到不同的结果。理解:根据条件生成不同的实例。利用多态的特性,调用同名方法,不同的实例将得到不同的结果。【2】代码示例如下:代码如下:#include #include using name...
分类:其他好文   时间:2015-05-28 00:20:47    阅读次数:250
条款9:不要在构造和析构过程中调用virtual函数
如下是一个股票交易的例子: 1 class Transaction // 交易的基类 2 { 3 public: 4 Transaction(); 5 virtual void logTransaction() const ...
分类:其他好文   时间:2015-05-25 16:24:33    阅读次数:123
绝不要在构造函数和析构过程中调用virtual函数
下面是一个用来塑模股市交易的类: derived的类的构造函数被调用,但是首先得调用基类Transaction的构造函数,但是在后面还得调用virrual函数,这个时候子类的对象的构造还没有完成,那么虚函数也就没有意思,也就可以说虚函数现在还不是虚函数,在derived class对象构造期间,对象...
分类:其他好文   时间:2015-05-22 13:01:45    阅读次数:134
C++学习笔记——虚函数
基本概念 虚函数是在某基类中声明为 virtual 并在一个或多个派生类中被重新定义的成员函数,用法格式为: virtual 函数返回类型 函数名(参数表) {函数体}; C++中用它来实现多态性,通过指向派生类的基类指针或...
分类:编程语言   时间:2015-05-13 13:18:14    阅读次数:216
149条   上一页 1 ... 6 7 8 9 10 ... 15 下一页
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!