c++编程: ●实现一个名为circle的简单圆类。数据成员int *itsRadius为一个指向

c++编程:
●实现一个名为circle的简单圆类。数据成员int *itsRadius为一个指向其半径值的指针,存放其半径值。
●一个默认构造函数,它能将半径设为0。
●一个构造函数,它接收一个参数,用于将半径设为由参数指定的值。
●一个拷贝构造函数(深拷贝)
●一个析构函数
●一个设置函数SetRadius(),用来根据参数设置半径
●一个GetArea()函数,用来得到圆的面积
●一个输出函数Output(),用于将半径及面积输出(面积用GetArea()函数得到)
●一个main()函数,测试上述函数的使用

第1个回答  2016-03-17

完整代码如下:

#include<iostream>

using namespace std;

class Circle

{

public:

 Circle()

 {

  itsRadius = new int;

  *itsRadius = 0;

 }

 Circle(int &rad)

 {

  itsRadius = new int;

  *itsRadius = rad;

 }

 Circle(const Circle& secCircle)

 {

  itsRadius = new int;

  *itsRadius = *secCircle.itsRadius;

 }

 void setRadius(int r){itsRadius = &r;}

 void getArea()

 {

  const double pi = 3.14;

  cout << "Area is:" << pi*(*itsRadius)*(*itsRadius) << "." << endl;

 }

 void output()

 {

  cout << "Area is:";

  getArea();

  cout << "Radius is:" << *itsRadius << "." << endl;

 }

 ~Circle(){delete itsRadius;}

private:

 int* itsRadius; 

};

int main()

{

 Circle cirA;

 cirA.output();

 int r=3;

 Circle cirB(r);

 cirB.output();

 Circle cirC = cirB;

 cirC.output();

    return 0;

}

本回答被提问者和网友采纳

c++编程: ●实现一个名为circle的简单圆类。数据成员int *itsRadius为...
} ~Circle(){delete itsRadius;}private: int* itsRadius; };int main(){ Circle cirA; cirA.output();

完成一个名为circle的圆类,其数据成员int*radius为指向其半径的指针...
include#includeusingnamespacestd;classCircle{doubler,Area,Circumference;public:Circle(doublea=0);Circle(Circle&);voidSetR(doubleR);doubleGetR(){returnr;}doubleGetAreaCircle(){returnArea;}doubleGetCircumference(){returnCircumference;}};Circle::Circle(doublea){r=a;Area=r*r*3.14159265;Ci...

定义一个“圆”类Circle,该圆类的数据成员包括:圆心点位置及圆的...
具体代码如下:Class Circle{Class Point{public:Point(int x, int y){m_x = x;m_y = y;}Point Operator=(Point& pt){if(pt == *this)return *this;m_x = pt.x;m_y = pt.y;}protected:m_x;m_y;};public:Circle(Point& pt, nRadius = 1){m_nCircleCore = pt;m_nRadius...

什么是C++成员初始化列表?
没有其它办法将参数传递给m_member,如果成员是一个常量对象或者引用也是一样。根据C++的规则,常量对象和引用不能被赋值,它们只能被初始化。使用初始化列表的第二个原因是出于效率考虑,当成员类具有一个缺省的构造函数和一个赋值操作符时。MFC的CString提供了一个完美的例子。假定你有一个类CMyClass具...

定义一个点类Point 包括x坐标和y坐标(int)。定义一个圆类Circle,
首先,类一般是有默认的无参构造函数的,但是因为定义了Circle的有参构造函数,Circle(Point pp,int rr),所以系统不会在生成默认的无参构造函数 然后因为在main函数中有: Circle c1(p1,7),c2;其中的c2并没有给它参数,系统会认为它使用的是无参构造函数 所以这就原因了。如果不加上Circle(){}...

JAVA中的一个小问题
考虑一个简单的画图程序,它可以用来画各种形状,比如矩形和圆形。 为了在程序中表示这些形状,你可以定义下面的类继承结构:public abstract class Shape { public abstract void draw(Canvas c);}public class Circle extends Shape { private int x, y, radius; public void draw(Canvas c) { \/\/ ... }}public...

问一个JAVA的小问题
考虑一个简单的画图程序,它可以用来画各种形状,比如矩形和圆形。 为了在程序中表示这些形状,你可以定义下面的类继承结构:public abstract class Shape { public abstract void draw(Canvas c);}public class Circle extends Shape { private int x, y, radius; public void draw(Canvas c) { \/\/ ... }}public...

相似回答