C++题目,设计2个类

第一题:编写几何点(二维平面上)的类Point,包括位置属性(二维坐标x,y),成员函数包括:点的位置获取函数GetX()和GetY(),点的位置设置函数SetX()和S... 第一题:编写几何点(二维平面上)的类Point,包括位置属性(二维坐标x,y),
成员函数包括:
点的位置获取函数GetX()和GetY(),
点的位置设置函数SetX()和SetY(),
点的位置移动函数MoveTo()
点的信息打印函数Display()。
void main() { Point p(100,100);
p.Display();
p.MoveTo(200,200);
cout<<"after moving…"<<endl;
p.Display();}
程序输出结果如下:
X: 100
Y: 100
after moving…
X: 200
Y: 200

第二题:
编写几何图形圆的类Circle,包括两个属性:圆心O(用上题中的Point类实现)和半径R。
成员函数包括:
圆心位置获取函数GetO()
半径获取函数GetR()
半径位置设置函数SetR()
圆的位置移动函数MoveTo()
圆的半径设置函数SetR()
圆的信息打印函数Display()
void main()
{ Point p(100,100); Point p2(200,200); Circle c(p, 100); c.Display();
c.MoveTo(p2); cout<<"after moving"<<endl; c.Display();
c.SetR(200); cout<<"after altering r"<<endl;
c.Display();}
程序输出结果如下:
Circle: (100,100),100
after moving
Circle: (200,200),100
after altering r
Circle: (200,200),200
展开
 我来答
百度网友feaac8c7c
2009-05-19 · TA获得超过998个赞
知道小有建树答主
回答量:168
采纳率:0%
帮助的人:166万
展开全部
第1题源程序如下:
#include <iostream>

using namespace std;

class Point{
private:
int x,y;
public:
Point(int xpos,int ypos){
x=xpos;
y=ypos;
}
void SetX(int xpos){
x=xpos;
}
void SetY(int ypos){
y=ypos;
}
int GetX(){
return x;
}
int GetY(){
return y;
}
void MoveTo(int xpos,int ypos){
x=xpos;
y=ypos;
}

void Display(){
cout<<"X:"<<GetX()<<endl<<"Y:"<<GetY()<<endl;
}
};

void main()
{
Point p(100,100);
p.Display();
p.MoveTo(200,200);
cout<<"after moving…"<<endl;
p.Display();
}

第2题源程序如下:
#include <iostream>

using namespace std;

class Point{
protected:
int x,y;
public:
Point(){
x=0;
y=0;
}
Point(int xpos,int ypos){
x=xpos;
y=ypos;
}
void SetX(int xpos){
x=xpos;
}
void SetY(int ypos){
y=ypos;
}
int GetX(){
return x;
}
int GetY(){
return y;
}
void MoveTo(int xpos,int ypos){
x=xpos;
y=ypos;
}

void Display(){
cout<<"X:"<<GetX()<<endl<<"Y:"<<GetY()<<endl;
}
};

class Circle :public Point{
private:
Point O;
int R;
public:
Circle(Point p,int radious){
O=p;
R=radious;
}
Point GetO(){
return O;
}
int GetR(){
return R;
}
void MoveTo(Point p){
O=p;
}
void SetR(int radious){
R=radious;
}
void Display(){
cout<<"Circle:("<<O.GetX()<<","<<O.GetY()<<"),"<<R<<endl;
}
};

void main()
{
Point p(100,100);
Point p2(200,200);
Circle c(p, 100); c.Display();
c.MoveTo(p2);
cout<<"after moving"<<endl;
c.Display();
c.SetR(200);
cout<<"after altering r"<<endl;
c.Display();
}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式