多态性:向不同的对象发送同一个消息,不同的对象在接受时会产生不同的行为(即方法)
#include<iostream>
usingnamespacestd;
classB
{
public:
voidprint()
{
cout<<"B::print()"<<endl;
}
virtualvoidshow();
};
voidB::show()
{
cout<<"B::show()..
分类:
其他好文 时间:
2016-05-11 19:58:43
阅读次数:
152
代码: 输出: 分析: 空类的大小为1,纯虚函数占8个字节。 ...
分类:
编程语言 时间:
2016-05-10 20:16:44
阅读次数:
145
什么是C++对象模型?引用《深度探索C++对象模型》中的两个概念:语言中直接支持面向对象程序设计的部分对各种支持的底层实现机制Inmyopinion对象模型是对象在存储空间上的空间比时间更优,并对C++面向对象的技术加以支持,如虚指针虚表指针支持多态性。什么是多态?●多态C++中..
分类:
编程语言 时间:
2016-05-10 18:53:00
阅读次数:
197
在C语言中:指针是C语言的特色,有着各种各样的指针,普通的变量指针,常量指针,数组指针,指针数组,函数指针,指针函数。我们就讲一下函数指针与回调函数吧首先关于函数指针,其实很简单。对于一个函数指针来说,顾名思义,就是一个指向函数的指针,需要知道的是,对于指针..
分类:
编程语言 时间:
2016-05-08 20:03:36
阅读次数:
230
之前老是被问到虚函数多态的事情.......有个模棱两可的印象,正好遇到这个帖子了,所以再学习学习 http://www.cnblogs.com/shouce/p/5453729.html 1、什么是虚函数 简单地说:那些被virtual关键字修饰的成员函数就是虚函数。其主要作用就是实现多态性。 多 ...
分类:
其他好文 时间:
2016-05-08 18:04:38
阅读次数:
383
C++中对象数组创建时,主要注意的点有:虚函数和带参数的构造函数,当出现虚函数时,对象数组中如通过父对象指向子对象,因为需要做Slice,析构时会造成指针错误引发内存泄露。测试程序如下: 如出现下列方式使用对象: A *pa = new B[2]; delete[] pa; Valgrind检测会造 ...
分类:
编程语言 时间:
2016-05-08 18:01:56
阅读次数:
234
参考资料:http://blog.csdn.net/hackbuteer1/article/details/7883531 ...
分类:
编程语言 时间:
2016-05-07 23:36:03
阅读次数:
247
原型模式:
优点:
使用拷贝比new一个对象的开销要小
代码示例:
Prototype.h
#ifndef PROTOTYPE_H
#define PROTOTYPE_H
/**
*1、声明一个抽象基类,并定义clone()函数为纯虚函数。
*2、实例化各个子类,并且实现复制构造函数,并实现clone()函数
*/
class Resume
{
public:
...
分类:
其他好文 时间:
2016-05-07 10:26:49
阅读次数:
153
Item M12:理解"抛出一个异常"与"传递一个参数"或"调用一个虚函数"间的差异
从语法上看,在函数里声明参数与在catch子句中声明参数几乎没有什么差别:
class Widget { ... }; //一个类,具体是什么类
// 在这里并不重要
void f1(Widg...
分类:
编程语言 时间:
2016-05-06 15:05:37
阅读次数:
256
在c++中,当一个类含有虚函数的时候,类就具有了多态性。构造函数的一项重要功能就是初始化vptr指针,这是保证多态性的关键步骤。 构造函数初始化vptr指针 下面是c++源码: class X { private: int i; public: X(int ii) { i = ii; } virtu ...
分类:
编程语言 时间:
2016-05-04 09:02:42
阅读次数:
220