C++编程序题:(一)定义一个圆类XY,计算圆的面积和周长(). 要求:1.该类有一个私用的数据成员R,表示半径;

编程序题:1题,共20分
(一)定义一个圆类XY,计算圆的面积和周长()。
要求:1.该类有一个私用的数据成员R,表示半径;
2.该类的构造函数用于初始化半径;
3.使用成员函数来求圆的面积;
4.使用友元函数计算圆的周长。

【题意分析】
本题是最基础的C++类使用习题,主要就是练习类的定义,私有成员,外部成员,成员变量,成员函数的使用等。下面这段代码每行都有注释,除了实现题中的功能,还有一些基础的示例对理解C++的类很有帮助,具体代码如下:
 
【程序代码】
#include <iostream>             //控制台操作头文件
 
class XY                        //定义一个类
{private:                       //私有成员关键字
   double R;                    //圆的半径
 public:                        //公开成员关键字
   XY(){R=0;}                   //无参构造函数
   XY(double N){R=N;}           //有参构造函数
   int Set(double N){R=N;}      //设置半径的成员函数
   double Get(){return R;}      //获得半径的成员函数
   double Grith()               //求周长的成员函数
         {return R*2*3.1415926;}//周长等于2∏R
   double Area()                //求面积的成员函数
         {return R*R*3.1415926;}//面积等于∏R的平方
};                              //类定义结束
 
int main()                      //主函数
{double t;                      //双精度变量
 XY O;                          //XY类对象
 printf("请输入半径:");         //提示输入半径
 scanf("%lf",&t);               //从键盘接受半径大小
 O.Set(t);                      //以t的值设置对象O的半径
 t=O.Grith();                   //通过成员函数Grith计算周长
 pri0ntf("该圆周长为:%lf\n",t); //输出圆的周长
 t=O.Area();                    //通过成员函数Area计算面积
 printf("该圆的面积为:%lf\n",t);//输出圆的周长
 printf("\n");                  //换行
 system("PAUSE");               //屏幕暂停,以便看到显示结果
 return 0;}                     //结束程序
 
【运行结果】
以上程序在DEV  C++中运行通过,运行结果截图如下:

温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-05-11
class XY
{
public:
XY(double r)
{
R=r;
}
double getArea()
{
return 3.1415926*R*R;

}
friend double getPerimeter(XY &x)
{
return 2*x.R*3.1425926;
}
private:
double R;
};本回答被网友采纳
第2个回答  2013-05-11
#include <iostream>
using namespace std;
#define _PI 3.14
class XY;
double Perimeter(const XY& xy);
class XY{
    double m_R;
public:
    XY(double r):m_R(r){}
    double Area(){
        return _PI * m_R * m_R;
    }
    friend double Perimeter(const XY& xy);
};
int main(void)
{
    XY x(10);
    cout << x.Area() << endl;
    cout << Perimeter(x) << endl;
    return 0;
}
double Perimeter(const XY& xy)
{
    return 2 * _PI * xy.m_R;
}

追问

非常感谢你!
有个符号没看懂,就是第5,13,22行里头括号里面的(const XY & xy) &是什么符号呀我之前咋没遇到过这个符号?是不是跟&&符号作用是一样的?
谢谢!

追答

这是引用的意思, 你查一下引用的用法吧,这是C++的基础

追问

谢谢!
我还有一个编程题不会做,如果可以,你再帮我看一下这道题吧
编写一个数字类。实现以下功能:
类名为TShu,该类的私有成员为一整型数据;公有成员包括有一个形参的构造函数;可实现求平方的成员函数PF;可实现输出私有数据的成员函数Print;可供常对象调用的常成员函数Print;以及友元函数Max,实现:比较二个对象私有数据的大小,返回私有数据大的对象的私有数据。

追答

这个先采纳了这个再起一个问题

相似回答