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
posted on 2025-05-05 21:42  轩~邈  阅读(34)  评论(0)    收藏  举报