设计Point点类,成员数据包含坐标x和y,都是int类型。根据给定的main设计必要的成员函数。 main函数已给定,提交时只需要提交main函数外的代码部分。 #include<iostream> using namespace std; //你提交的代码在这里 int main() { Point p1,p2(20,100); cout<<"Show object p1:"; p1.Show(); cout<<"Show object p2:"; p2.Show(); int x,y; cin>>x>>y; cout<<"Reset and Show object p1:"; p1.Set(x,y); p1.Show(); cin>>x>>y; cout<<"Reset and Show object p2:"; p2.Set(x,y); p2.Show(); return 0; } 输入 2行,每行2个整数,分别表示二维坐标系中一个的x坐标和y坐标。数据保证在int范围内。 输出 输出包含4行,按照样例输出格式输出。 输入样例 1 -10 -10 0 0 输出样例 1 Show object p1:(10,16) Show object p2:(20,100) Reset and Show object p1:(-10,-10) Reset and Show object p2:(0,0)
时间: 2024-03-23 14:40:33 浏览: 57
```cpp
#include<iostream>
using namespace std;
class Point{
private:
int x, y;
public:
Point(){
x = 10;
y = 16;
}
Point(int a, int b){
x = a;
y = b;
}
void Set(int a, int b){
x = a;
y = b;
}
void Show(){
cout << "(" << x << "," << y << ")" << endl;
}
};
int main() {
Point p1,p2(20,100);
cout<<"Show object p1:";
p1.Show();
cout<<"Show object p2:";
p2.Show();
int x,y;
cin>>x>>y;
cout<<"Reset and Show object p1:";
p1.Set(x,y);
p1.Show();
cin>>x>>y;
cout<<"Reset and Show object p2:";
p2.Set(x,y);
p2.Show();
return 0;
}
```
相关问题
设计Point点类,成员数据包含坐标x和y,都是int类型。根据给定的main设计必要的成员函数。 main函数已给定,提交时只需要提交main函数外的代码部分。 #include<iostream> using namespace std; //你提交的代码在这里 int main() { Point p1,p2(20,100); cout<<"Show object p1:"; p1.Show(); cout<<"Show object p2:"; p2.Show(); int x,y; cin>>x>>y; cout<<"Reset and Show object p1:"; p1.Set(x,y); p1.Show(); cin>>x>>y; cout<<"Reset and Show object p2:"; p2.Set(x,y); p2.Show(); return 0; }
以下是点类 Point 的实现代码:
```cpp
#include<iostream>
using namespace std;
class Point {
private:
int x, y;
public:
Point() {
x = 0;
y = 0;
}
Point(int x, int y) {
this->x = x;
this->y = y;
}
void Set(int x, int y) {
this->x = x;
this->y = y;
}
void Show() {
cout << "(" << x << ", " << y << ")" << endl;
}
};
int main() {
Point p1, p2(20, 100);
cout << "Show object p1:";
p1.Show();
cout << "Show object p2:";
p2.Show();
int x, y;
cin >> x >> y;
cout << "Reset and Show object p1:";
p1.Set(x, y);
p1.Show();
cin >> x >> y;
cout << "Reset and Show object p2:";
p2.Set(x, y);
p2.Show();
return 0;
}
```
点类 Point 包含两个私有成员变量 x 和 y,分别表示点的横坐标和纵坐标。类中定义了两个构造函数,一个默认构造函数和一个带两个参数的构造函数,用于初始化 x 和 y 的值。类中还定义了两个公共成员函数 Set 和 Show,用于设置坐标值和显示坐标值。其中,Set 函数有两个参数 x 和 y,分别表示新的横坐标和纵坐标,用于修改点的坐标值。Show 函数没有参数,用于输出点的坐标值。在 main 函数中,分别创建了两个 Point 类型的对象 p1 和 p2,并对其进行了初始化,并调用了 Set 和 Show 函数,对其进行了修改和输出。
编程题:多级继承 基类Point派生出一个Circle(圆)类,Circle(圆)类再派生出一个Cylinder(圆柱体)类。 基类Point的有数据成员x,y,若干成员函数用于对数据成的操作; Circle(圆)类增加数据成员r(半径),以及求面积的成员函数area,和若干需要的成员函数; Cylinder(圆柱体)类,再增加数据成员h(高),以及求圆柱表面积的成员函数area和求圆柱体积的成员函数volume,及若干需要的成员函数; 每个类都有若干构造函数及析构函数。设计main函数完成测试。
好的,以下是多级继承的代码实现:
```c++
#include<iostream>
using namespace std;
class Point
{
protected:
double x, y; // 坐标
public:
Point(double x = 0, double y = 0) :x(x), y(y) {};
~Point() {};
};
class Circle :public Point // 圆类
{
protected:
double r; // 半径
public:
Circle(double x = 0, double y = 0, double r = 0) :Point(x, y), r(r) {};
double area() { // 求面积
return 3.14 * r * r;
}
~Circle() {};
};
class Cylinder :public Circle // 圆柱体类
{
protected:
double h; // 高
public:
Cylinder(double x = 0, double y = 0, double r = 0, double h = 0) :Circle(x, y, r), h(h) {};
double area() { // 求表面积
return 2 * 3.14 * r * (r + h);
}
double volume() { // 求体积
return 3.14 * r * r * h;
}
~Cylinder() {};
};
int main()
{
Cylinder c(1, 1, 2, 3); // 给定圆心、半径、高
cout << "面积:" << c.area() << endl;
cout << "体积:" << c.volume() << endl;
return 0;
}
```
运行结果为:
```
面积:62.8
体积:37.68
```
希望能够帮到你,如果还有其他问题可以继续提出。
阅读全文