-->
当前位置:首页 > 题库 > 正文内容

7-6 单继承中的构造函数与析构函数 (10 分)

Luz4年前 (2021-03-08)题库2163
7-6 单继承中的构造函数与析构函数 (10 分)

编写代码实现一个表示点的父类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
作者
杨雪华
单位
沈阳师范大学
代码长度限制
16 KB
时间限制
400 ms
内存限制
64 MB
#include <iostream>
#include<iomanip>
using namespace std;
const double PI=3.14;
class Dot{
    private:
        float x;
        float y;
    public:
        Dot(float a,float b):x(a),y(b){
            cout<<"Dot constructor called"<<endl;
        }
        ~Dot(){
            cout<<"Dot destructor called"<<endl;
        }
};
class Cir:public Dot{
    private:
        float r;
    public:
        Cir(float a,float b,float c):Dot(a,b),r(c){
            cout<<"Cir constructor called"<<endl;
        }
        ~Cir(){
            cout<<"Cir destructor called"<<endl;
        }
        double getArea(){
            return PI*r*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;
}


发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。