天天看点

circle_拷贝构造函数

描述

定义一个circle类,属性为半径,周长和面积。要求定义构造函数和拷贝构造函数及其他成员函数,实现以下功能:

根据输入的半径构造一个对

能根据已知的对象生成一个的新对象,新对象的半径是个原对象半径的两倍

能获取对象属性值

输入

一个圆的半径

输出

先复制这个对象

输出复制后对象的半径,周长,面积(保留小数点后两位数)

样例输入

1

样例输出

2

12.56

12.56

#include<iostream>
#include<iomanip>
#define PI 3.141
using namespace std;
class Circle
{
private:
    int r;
    double perimeter,area;
public:
    Circle(int rr=1);
    Circle(const Circle&c);
    void getperimeter()
    {
        cout<<fixed<< setprecision(2)<<(2*PI*r)<<endl;
    }
    void getarea()
    {
        cout<<fixed<< setprecision(2)<<(r*PI*r)<<endl;
    }
    void getr()
    {
        cout<<r<<endl;
    }
};
Circle::Circle(int rr):r(rr){}
Circle::Circle(const Circle&c)
    {
        r=2*c.r;
    }
int main()
{
    int R;
    cin>>R;
    Circle c1(R);
    Circle c2=c1;
    c2.getr();
    c2.getperimeter();
    c2.getarea();

}