C++语言程序设计(下) 中国农业大学 单元作业7-3

题目

编写程序。编写一个关于圆形的C++程序。要求用定义一个圆形类Circle,其中包含如下成员:

  1. 1个私有数据成员(半径);
  2. 3个公有函数成员(设置半径、计算面积、计算周长);
  3. 3个构造函数(不带参数的构造函数、带参数的构造函数和拷贝构造函数)。

编写主函数main(),使用圆形类Circle创建圆形对象,要求:

  1. 定义一个圆对象c1,从键盘输入一个值x并将其设定为c1的半径,计算并显示c1的面积和周长;
  2. 再定义一个圆对象c2,并将半径初始化为2x,计算并显示c2的面积和周长;
  3. 再定义一个圆对象c3,并用c1初始化c3,计算并显示c3的面积和周长。
#include <iostream>
using namespace std;
class CTest
{
private:  int x, y;
public:
    CTest(int p1 = 0, int p2 = 0)  {  x = p1;  y = p2;  }
    CTest(CTest &p)  {  x = p.x;  y = p.y;  }
    void Show( )  {  cout << x <<,<< y << endl;  }
};
int main( )
{
    CTest obj1;
    obj1.Show( );
    CTest obj2(2, 5);
    obj2.Show( );
    CTest obj3(obj2);
    obj3.Show( );
    return 0;
}

答案

#include <iostream>
#define PI 3.1415926
 
class Circle
{
private:
    double R;
public:
    Circle() {R = 0;}
    Circle(const double r) {R = r;}
    Circle(const Circle &circle) {R = circle.R;}
    void setR(const double r) {R = r;}
    double getArea() const {return PI*R*R;}
    double getPerimeter() const {return PI*2*R;}
}; 
 
int main()
{
    Circle c1;
    double r;
    std::cin>> r;
    c1.setR(r);
    std::cout << "面积: " << c1.getArea()
        << "    周长: " << c1.getPerimeter() << std::endl;
    Circle c2 = Circle(2*r);
    std::cout << "面积: " << c2.getArea()
        << "    周长: " << c2.getPerimeter() << std::endl;
    Circle c3 = Circle(c1);
    std::cout << "面积: " << c3.getArea()
        << "    周长: " << c3.getPerimeter() << std::endl;
    return 0;
}
原创文章 63 获赞 23 访问量 2万+

猜你喜欢

转载自blog.csdn.net/qq_33384402/article/details/105878279