C++中程序修改

来源:百度知道 编辑:UC知道 时间:2024/06/16 18:29:43
Point类描述点这一概念,其中数据成员x和y表示点的横坐标和纵坐标。Circle类描述圆这一概念,它是Point的派生类,Circle类中新增数据成员radius表示圆的半径。请用C++代码描述这两个类(要求编写基类和派生类的构造函数),并用Circle类的友元函数Display()输出圆的圆心的横、纵坐标和圆的半径,写出main()函数的实现。(注:改程序时不要用指针的,没学过,谢谢了)
#include<iostream.h>
class Point
{
public:
Point(){}
Point(int x,int y)
{
x=x; y=y;
}
private:
int x,y;
} ;
class Circle:public Point
{
public:
Circle(){} ;
Circle(int x,int y,int r):Point(x,y),radius(r) {} ;
friend void Display(Circle s);
private:
int radius;
} ;
void Display(Circle s)
{
cout<<s.x<<s.y<<s.radius<<endl;
}
void main()
{
Circle s(1,2,5);
Display(s);
}

#include<iostream.h>
class Point
{
public:
Point(){}
Point(int x,int y) : x(x), y(y) {}
int GetX() const { return x; }
int GetY() const { return y; }
private:
int x,y;
} ;
class Circle:public Point
{
public:
Circle(){} ;
Circle(int x,int y,int r):Point(x,y),radius(r) {} ;
friend void Display(Circle s);
private:
int radius;
} ;
void Display(Circle s)
{
// x, y是Point类的私有成员,不可直接引用,Display只是Circle的Friend
cout<<s.GetX()<<' '<<s.GetY()<<' '<<s.radius<<endl;
}
void main()
{
Circle s(1,2,5);
Display(s);
}