c++ 纯虚函数与抽象类
2015-08-25 23:09
274 查看
纯虚函数
有时候我们不得不将基类中的成员函数定义为虚函数,只是纯粹的考虑到其派生类的应用,而并不是基类本身的要求,所谓的纯虚函数就是在基类中只预留一个函数名,具体的功能再让派生类去完成。纯虚函数定义:
virtual 函数类型 函数名 (参数) = 0;
例:
virtual double area() const =0; //纯虚函数
抽象类
一般情况下我们声明一个类的作用是用它来定义对象。但是在面向对象的程序设计中,往往有一些类是不需要来定义对象的,这些类唯一的作用是用它作为基类来去建立派生类。它只是作为一种基类来提供给用户,用户再去根据自己的需求来定义出不同功能的派生类。再去用这些派生类来建立对象。这些不用来定义对象只是作为一种基本类型用作继承的类,称为抽象类(abstract class),由于它常用作基类,所以也通常称作抽象基类(abstract baseclass)。凡是包含纯虚函数的类都是抽象类。因为纯虚函数是无法被调用的,包含纯虚函数的类是无法建立对象的。
虽然抽象类不能定义对象,但是也是可以定义指针来指向抽象类数据的。当派生类称为具体类之后,就可以用这种指针来指向派生类对象,然后通过该指针来调用虚函数,从而来实现多态。
相关文章推荐
- 【转载】C++创建对象的两种方法
- hdu2066 最短路 dijkstra
- c语言二维数组在子函数中的传址
- 在Windows下使用Dev-C++开发基于pthread.h的多线程程序【转】
- C++ 中超类化和子类化
- C语言实现二叉排序树
- c++中按位取反运算,类型转换,扩位
- 【C++基础学习】引用和指针、重载、函数、内存管理
- 保存画面为图片 当前MFC保存该程序为图片 c++ vc
- C++ 【STL】 map的基本操作和使用
- C++学习笔记(四)指针实现的链表、堆栈、队列、二叉查找树
- C/C++ 指针做参数 堆内存分配
- 【C++】复数类的实现
- [C++]ZigZag Conversion 之字形转换
- 万年历cpp代码
- 【C++】String类及其优化版的实现
- PAT的C++编译器
- c++ string 路径处理
- C++ Primer : 第十二章 : 动态内存之动态内存管理(new和delete)
- 【C++】顺序表的实现