纯虚函数与抽象类
来源:互联网 发布:js复选框全选 编辑:程序博客网 时间:2024/05/17 05:57
有时我们仅仅想让基类表示一种抽象的概念,而不与具体的事物相联系
如:我在基类中定义一个多边形的函数Shape(),但是我并不想让它指向某一个具体的多边形(三角形呀,四边形呀),我只想让它指明多边形都共有的特征(都有两条以上的边构成,都有角。。。),然后在它的派生类中在对对变形进行具体化
这时便用到了纯虚函数:
纯虚函数的定义方式:
class 类名
{
...
virtual 函数类型 函数名(参数表)=0;
...
}
看下面的一个程序
#include<iostream>
using namespace std;
class Duobian
{
public :
virtual void shape()=0;
};
class Triangle:public Duobian
{
public:
void shape()
{
cout<<"这是一个三角形"<<endl;
}
};
class Square:public Duobian
{
public :
void shape()
{
cout<<"这是一个四边形"<<endl;
}
} ;
int main()
{
Duobian *d;
Triangle t;
Square s;
d=&t;
d->shape();
d=&s;
d->shape();
return 0;
}
这就是纯虚函数最简单的用法
但是需要注意的是,纯虚函数是在基类中说明的一个函数,它在该基类中没有定义,但要求它在自己的派生类中必须定义自己的版本或重新说明为纯虚函数。
抽象类:如果一个类最少有一个纯虚函数就称该类为抽象类
- 纯虚函数与抽象类
- 纯虚函数与抽象类
- 抽象类与纯虚函数
- C++纯虚函数与抽象类
- 纯虚函数与抽象类练习题
- C++纯虚函数与抽象类
- C++纯虚函数与抽象类
- 纯虚函数与抽象类
- C++抽象类与纯虚函数
- C++:纯虚函数与抽象类
- 抽象类与纯虚函数
- 纯虚函数与抽象类
- C++ 抽象类与纯虚函数
- C++ 纯虚函数与抽象类
- 纯虚函数与抽象基类
- C++纯虚函数与抽象类
- c++ 纯虚函数与抽象类
- C++纯虚函数与抽象类
- [objective-C] 08.内存管理2
- 负载均衡技术之4算法
- 由冰激凌事件联想分布式系统
- Centos 6.5 安装 Scrapy 0.22.2成功
- leetcode做题总结,题目Remove Nth Node From End of List 2012/01/27
- 纯虚函数与抽象类
- SDL显示中文(一个函数而已)
- C语言 gets()和scanf()函数的区别
- leetcode做题总结,题目Combinations 2012/04/18
- 请用fontAwesome代替网页icon小图标
- 不要62 2089
- Linux驱动开发二:外部中断分析
- 因添加两个webservice引用时提示:{"无法加载协定为“sms.WebServiceSoap”的终结点配置部分,找到了该协定的多个终结点配置。请按名称指示首选的终结点配置部分。"}
- 不成熟的六个表现