打卡

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

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

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

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

#include <iostream>
#include<iomanip>
using namespace std;
const double PI=3.14;
//请编写你的代码
int main(){
    float x,y,r;
    cin>>x>>y>>r;
    Cir c(x,y,r);
    cout<<fixed<<setprecision(2)<<c.getArea()<<endl;
    return 0;
}

 

输入格式:

输入圆心和半径,x y r中间用空格分隔。

输出格式:

输出圆的面积,小数点后保留2位有效数字,注意:const double PI=3.14,面积=PI*r*r

输入样例:

在这里给出一组输入。例如圆的中心点为原点(0,0),半径为3:

0 0 4
 

输出样例:

在这里给出相应的输出。例如:

Dot constructor called
Cir constructor called
50.24
Cir destructor called
Dot destructor called
#include <iostream>
#include<iomanip>
using namespace std;
const double PI=3.14;
class Dot{
    public:
        Dot(float q, float w){
            a = q;
            b = w;
            cout << "Dot constructor called" <<endl;
        }
        ~Dot(){
            cout << "Dot destructor called"<< endl;
        }
    private:
        float a, b;
};
class Cir:public Dot{
    public:
        Cir(float a, float b, float e):Dot(a,b){
            
            r = e;
            cout << "Cir constructor called" << endl;
        }
        float getArea(){
            return PI * r * r;
        }
        ~Cir(){
            cout << "Cir destructor called"<<endl;
        }
        private:
        float r;
        
};

int main(){
    float x,y,r;
    cin>>x>>y>>r;
    Cir c(x,y,r);
    cout<<fixed<<setprecision(2)<<c.getArea()<<endl;
    return 0;
}

 

posted @ 2023-04-28 22:45  kxzzow  阅读(87)  评论(0)    收藏  举报