继承-单继承中的构造函数与析构函数

编写代码实现一个表示点的父类Dot和一个表示圆的子类Circle,求圆的面积。

Dot类有两个private数据成员 double x, y;

Circle类新增一个private的数据成员半径double r 和一个public的求面积的函数getArea( );

主函数已经给出,请编写Dot和Circle类。

#include <iostream>
#include<cstdio>
using namespace std;
const double PI=3.14;
//请编写你的代码
int main(){
    double x,y,r;
    cin >> x >> y >> r;
    
    Circle c(x,y,r);

	printf("%.2f", c.getArea());

	
    return 0;
} 

输入描述:

输入三个浮点数x, y, r,空格隔开,分别表示圆心和半径,

输出描述:

父类和子类的构造函数和析构函数调用信息以及圆的面积,小数点后保留2位有效数字,详见输出样例。

示例1

输入

0.0 0.0 4.0

输出

Dot constructor called
Circle constructor called
50.24
Circle destructor called
Dot destructor called
​
#include <iostream>
#include <cmath>
#include <cstdio>
using namespace std;
const double PI = 3.14;

// Dot 类定义
class Dot {
private:
    double x, y;

public:
    // 构造函数
    Dot(double x, double y) : x(x), y(y) {
        cout << "Dot constructor called\n";
    }

    // 析构函数
    ~Dot() {
        cout << "Dot destructor called\n";
    }

    // 访问器函数
    double getX() const {
        return x;
    }

    double getY() const {
        return y;
    }
};

// Circle 类定义,继承自 Dot
class Circle : public Dot {
private:
    double r;

public:
    // 构造函数
    Circle(double x, double y, double radius) : Dot(x, y), r(radius) {
        cout << "Circle constructor called\n";
    }

    // 析构函数
    ~Circle() {
        cout << "Circle destructor called\n";
    }

    // 获取半径
    double getRadius() const {
        return r;
    }

    // 计算圆的面积
    double getArea() const {
        return PI * pow(r, 2);
    }
};

int main() {
    double x, y, r;
    cin >> x >> y >> r;
    Circle c(x, y, r);
    printf("%.2f\n", c.getArea());

    return 0;
}

​

  • 10
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

山月@

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值