1. 虚函数和纯虚函数可以定义在同一个类(class)中,含有纯虚函数的类被称为抽象类(abstract class),而只含有虚函数的类(class)不能被称为抽象类(abstract class)。 2.虚函数可以被直接使用,也可以被子类(sub class)重载以后以多态的形式调用,而纯虚函数...
分类:
编程语言 时间:
2014-07-16 17:05:43
阅读次数:
244
虚函数联系到多态,多态联系到继承,没有了继承,什么都是不成立的。一:什么是虚函数?简单地说,那些被virtual关键字修饰的成员函数,就是虚函数。虚函数的作用,用专业术语来解释就是实现多态性(Polymorphism),多态性是将接口与实现进行分离;用形象的语言来解释就是实现以共同的方法,但因个体差...
分类:
编程语言 时间:
2014-07-16 12:20:33
阅读次数:
372
1. 说说简单的函数回调首先说说一种简单的函数回调机制(一种通过获取对象的指针来进行函数的调用方法)以下是代码演示---这是观察者(被回调)部分:class Observer{public: // 抽象观察者的纯虚函数 virtual void UpdateMessage() = 0;};class...
分类:
编程语言 时间:
2014-07-15 08:07:58
阅读次数:
324
在虚函数的声明的参数列表后加上“=0”就将函数变成了纯虚函数class Base{ virtual void function()=0;}我们不需要为纯虚函数Base::function()提供任何定义,那些声明了纯虚函数的类就是抽象类。任何试图创建一个抽象类对象的操作都会导致编译器错误。如果一个....
分类:
其他好文 时间:
2014-07-14 20:06:09
阅读次数:
258
刚刚看到了C++代理模式,简单的学习了一下,当一个应用程序执行时,可以采用这种方法,至于到底怎么用,我还不知道。 A->B->C。 当应用A要执行的时候,采用代理B,B继承自协议C,实现C中的虚方法,C为一个抽象类,包含一个纯虚函数。这样的话,主函数中只需要执行A的方法就可以了。 下面用代...
分类:
编程语言 时间:
2014-07-02 19:22:40
阅读次数:
213
/** ************重载,重写(覆盖),隐藏的识别*************重载:如何调用取决于参数覆盖:如何调用取决于object(有virtual 同名 同参)隐藏:如何调用取决于pointera、编译时多态性:通过重载函数实现 b、运行时多态性:通过虚函数实现。包含纯虚函数(vir...
分类:
其他好文 时间:
2014-06-29 00:26:59
阅读次数:
199
1.
说说简单的函数回调首先说说一种简单的函数回调机制(一种通过获取对象的指针来进行函数的调用方法)以下是代码演示---这是观察者(被回调)部分:class
Observer{public: // 抽象观察者的纯虚函数 virtual void UpdateMessage() = 0;};class...
分类:
编程语言 时间:
2014-06-06 11:51:11
阅读次数:
315
/*
* Copyright (c) 2013, 烟台大学计算机学院
* All rights reserved.
* 作 者:马广明
* 完成日期:2014 年 5 月 27 日
* 版 本 号:v1.0
* 问题描述:形状类中的纯虚函数
*/
#include
using namespace std;
const double PI=3.14;
class Sha...
分类:
其他好文 时间:
2014-06-04 22:02:45
阅读次数:
234
class Abstract_base{public: virtual
~Abstract_base()=0;//有问题,链接不通过,不能是纯虚函数 virtual void interface() const
=0;//如果改到类的成员变量,最好不要设置为const //下面函数很糟糕,因为是vi...
分类:
其他好文 时间:
2014-06-01 12:11:01
阅读次数:
177
虚函数与纯虚函数:
虚函数:在某基类中声明为virtual并在一个或多个派生类中被重新定义的成员函数,virtual 函数返回类型 函数名(参数表){函数体;}
,实现多态性,通过指向派生类的基类指针或引用,访问派生类中同名覆盖成员函数。注意虚函数在基类中是有定义的,即便定义是空。 纯虚函数...
分类:
编程语言 时间:
2014-05-31 18:36:09
阅读次数:
354