- 纯虚函数的定义
在C++中,只有虚函数才能被声明为纯虚函数,语法格式为:
virtual 返回值类型 函数名(函数参数)=0;
其中,纯虚函数没有函数体,只有函数声明,也就是在类中的虚成员函数后面加上=0,来表示这是一个纯虚函数。
2. 纯虚函数的应用
包含纯虚函数的类称为抽象类,所谓的抽象类也就是所无法被实例化,这是因为该类中的纯虚函数只有声明,而没有定义,所以无法被实例化,因而无法创建对象。抽象类通常作为基类,让派生类去实现纯虚函数的定义,派生类必须完整的实现纯虚函数才能被实例化。
一个例子:
#include<iostream>
#include<string>
using namespace std;
//线
class Line{
public:
Line(float len);
virtual float area() = 0;
virtual float volume() = 0;
protected:
float m_len;
};
Line::Line(float len) :m_len(len){}
//矩形
class Rec :public Line{
public:
Rec(float len, float width);
float area();
protected:
float m_width;
};
Rec::Rec(float len, float width) :Line(len), m_widt