纯虚函数与抽象基类
来源:互联网 发布:软件负载测试 编辑:程序博客网 时间:2024/06/17 05:18
在基类中加入至少一个纯虚函数,就使得基类成为了抽象类。
虚函数与抽象类的特点:
1.纯虚函数使用关键字virtual声明,并在函数声明后面加上=0。编译器不允许将抽象类实例化。
2.当继承一个抽象类的时候,必须实现所有的纯虚函数,否则由抽象类派生的类也是一个抽象类。
3.virtual void fun()=0;告诉编译器在虚函数表中为函数保留一个位置,但在这个特定位置不放地址。
class makefood
{
public:
virtual void firststep() = 0;
virtual void secondstep() = 0;
virtual void thirdstep() = 0;
void fun()
{
firststep();
secondstep();
thirdstep();
}
};
class makepie :public makefood
{
public:
virtual void firststep()
{
cout << "和面" << endl;
}
virtual void secondstep()
{
cout << "煎炸" << endl;
}
virtual void thirdstep()
{
cout << "出锅" << endl;
}
};
class makenoodle :public makefood
{
public:
virtual void firststep()
{
cout << "烧水" << endl;
}
virtual void secondstep()
{
cout << "下面" << endl;
}
virtual void thirdstep()
{
cout << "出锅" << endl;
}
};
void dofood(makefood* mkfood)
{
mkfood->fun();
delete mkfood;
}
void test()
{
//makefood mkfood;错误,抽象类不能实例化
makepie* mkpie = new makepie;//重写所有纯虚函数,才能实例化
makenoodle* mknoodle = new makenoodle;//重写所有纯虚函数,才能实例化
dofood(mkpie);
cout << endl;
dofood(mknoodle);
}
- 纯虚函数与抽象基类
- 纯虚函数与抽象基类
- 纯虚函数与抽象基类
- 纯虚函数与抽象基类
- 纯虚函数与抽象类
- 纯虚函数与抽象类
- 抽象类与纯虚函数
- C++纯虚函数与抽象类
- 纯虚函数与抽象类练习题
- C++纯虚函数与抽象类
- C++纯虚函数与抽象类
- 纯虚函数与抽象类
- C++抽象类与纯虚函数
- C++:纯虚函数与抽象类
- 抽象类与纯虚函数
- 纯虚函数与抽象类
- C++ 抽象类与纯虚函数
- C++ 纯虚函数与抽象类
- mac上配置java环境
- C# 反射通过GetCustomAttributes方法,获得自定义特性
- C语言精要总结-指针系列(一)
- 算法---索引查找
- 欢迎使用CSDN-markdown编辑器
- 纯虚函数与抽象基类
- js的date日期格式
- hibernate多对多注解配置
- matplotlib的基本用法(十一)——绘制3D图
- .Net分布式架构(二):基于Redis的Session共享
- 原生JS面向对象
- CSS实现背景图片固定滚动形成视觉差效果
- java开发环境
- 结构体 成绩统计