1.多态在面向对象语言中,接口的多种不同实现方式即为多态。多态是指,用父类的指针指向子类的实例(对象),然后通过父类的指针调用实际子类的成员函数。在Java中,没有指针,就直接用父类实例化子类对象多态性就是允许将子类类型的指针赋值给父类类型的指针,多态是通过虚函数实现的,多态可以让父类的指针有“多种...
分类:
其他好文 时间:
2014-08-04 17:00:37
阅读次数:
259
http://blog.csdn.net/estelle_belle/article/details/16944597不懂虚函数有什么用,不知道除了构造函数,析构函数外还有拷贝函数,还有深浅拷贝之分。每天下班后我没有直接回家,而是留在了单位telnet到SUNOS上,开始了我学习unix的计划。我觉...
分类:
其他好文 时间:
2014-08-03 22:58:36
阅读次数:
237
C++程序员编码过程中经常会使用string(wstring)类,你是否思考过它的内部实现细节。比如这个类的迭代器是如何实现的?对象占多少字节的内存空间?内部有没有虚函数?内存是如何分配的?...
分类:
编程语言 时间:
2014-08-03 05:45:54
阅读次数:
350
1.虚指针和虚函数表 1.1不含有任何数据成员或者虚函数的class或者struct大小为1,含有虚函数的对象在基地址部分有一个vptr,指向虚函数表,因此大小为4个字节。 1.2动态绑定的原理:假设派生类和基类存在覆盖的关系(基类中定义了虚函数),那么派生类在虚函数表中,会覆盖掉基类相应的虚函.....
分类:
编程语言 时间:
2014-08-02 01:47:42
阅读次数:
356
标准c++库中提供六种排序方法:qsort(), sort(),stable_sort(), partial_sort(), list::sort(), set/multisetqsort()比sort()慢并且不能排序构造函数、虚函数,一般不推荐使用。写一个比较函数传递给qsort()很麻烦;后五...
分类:
其他好文 时间:
2014-08-01 12:58:11
阅读次数:
278
虚函数是C++中实现多态的一种方法,父类A的一个函数声明为虚函数,在子类B中覆盖定义之后,当在调用的时候使用A*a=new B(),此时调用对应的那个虚函数的名字,则会执行B中的函数。当父类中没有定义虚函数的实体时候,virtual void foo()=0;这个函数就是一个纯虚函数,对应的父类就是...
分类:
编程语言 时间:
2014-07-31 20:40:37
阅读次数:
251
本文分析虚函数的小秘密,通过几个case说明为了支持虚函数,应该有什么样的约定,生成什么样的代码。...
分类:
其他好文 时间:
2014-07-31 17:10:36
阅读次数:
166
c++纯虚函数是C++面向对象设计的重要组成部分。纯虚函数在函数参数后边添加“=0”实现。class Test{ ... void virtual Fun() =0; ... }上述Fun函数是纯虚函数,拥有纯虚函数的类是抽象类,不能实例化,如Test这让人想起C#或者Jav...
分类:
编程语言 时间:
2014-07-31 12:16:56
阅读次数:
227
在前一节中曾提到过,C++中运行时的多态性主要是通过虚函数来实现的,而编译时的多态性是由函数重载和运算符重载来实现的。这一系列我将主要讲解C++中有关运算符重载方面的内容。在每一个系列讲解之前,都会有它的一些基础知识需要我们去理解。而运算符重载的基础就是运算符重载函数。所以今天主要讲的是运算符重.....
分类:
编程语言 时间:
2014-07-31 02:20:35
阅读次数:
325
#对象内存布局分类讨论vc6变量查看器中(Locals,Watch1等),也可以看到部分对象布局的情况(不完整,且虚继承是错误的)。vs2005及以后版本的编译器提供了/d1reportSingleClassLayout[类名]编译选项来查看对象完整的内存布局:cl classLayout.cpp ...
分类:
编程语言 时间:
2014-07-30 14:41:43
阅读次数:
314