1、包含纯虚函数的类称为抽象类
纯虚函数的声明形式:
virtual 返回类型 函数名 (参数列表) = 0;
抽象类CFigure举例:
#include <iostream>
using namespace std;
const double PI = 3.14;
/* 定义抽象类CFigure */
class CFigure
{
public:
virtual double getArea( ) = 0;
};
/* 定义派生类CCircle: 成员数据:radius 成员函数:getArea */
class CCircle : public CFigure
{
private:
double radius;
public:
CCircle(double inputRadius){radius = inputRadius;}
double getArea()
{
return PI * radius * radius;
}
};
/* 定义派生类CRectangular: 成员数据:height, width 成员函数:getArea */
class CRectangular : public CFigure
{
private:
double height, width;
public:
CRectangular(double inputHeight, double inputWidth)
{
height = inputHeight;
width = inputWidth;
}
double getArea()
{
return height * width;
}
};
int main(int argc, char * argv[])
{
CFigure *figure1 = new CRectangular(4.0, 5.0);
cout << figure1->getArea() << endl;
CFigure *figure2 = new CCircle(4.0);
cout << figure2->getArea() << endl;
return 0;
}
| xuanmiao@linux:~/Test/C++$ ./test45 20 50.24 |
纯虚函数和抽象类
浙公网安备 33010602011771号