【多态性】C8-2 圆的周长和面积

C8-2 圆的周长和面积 (100/100 分数)
题目描述
求圆的周长和面积,已知圆类从shape抽象类继承。

输入描述
输入圆的半径

输出描述
输出圆的周长和面积

样例输入
10

样例输出
314 62.8

代码实现

#include <iostream>
using namespace std;

const double pi = 3.14;

class Shape {
public:
    Shape() {}
    ~Shape() {}
    virtual double getArea() = 0;//虚函数
    virtual double getPerim() = 0;
};

class Circle : public Shape {
public:
    Circle(double rad) :radius(rad) {}
    ~Circle() {}

    /*补充这两个函数*/
    virtual double getArea();//覆盖基类虚函数,最好还是加上virtual避免歧义
    virtual double getPerim();
private:
    double radius;
};
double Circle::getArea()
{
    return radius * radius*pi;
}
double Circle::getPerim()
{
    return 2 * pi*radius;
}
int main() {
    double radius;
    cin >> radius;
    Circle c(radius);
    cout << c.getArea() << " " << c.getPerim() << endl;
    return 0;
}

注意
此题较为简单,需注意类外函数的声明问题别出错
double(类型名)Circle(类名):: xxxxx(){};

猜你喜欢

转载自blog.csdn.net/vnlain/article/details/82596337
今日推荐