构造一个名为Cartesian的类,其中包含两个名为x和y的双精度数据成员,用于存储矩形中一个点的x和y值 坐标。成员函数应该包括将对象的x和y值初始化为0的构造函数,以及输入和显示对象的x和y值的函数。 此外,还包括一个赋值函数,用于在两个笛卡尔对象之间执行按成员赋值。 b.将为习题2a编写的类包含在一个工作的c++程序中,该程序创建并显示两个笛卡尔对象的值
时间: 2024-03-03 19:50:24 浏览: 38
以下是实现上述要求的 C++ 代码:
```cpp
#include <iostream>
using namespace std;
class Cartesian {
private:
double x; // x 坐标
double y; // y 坐标
public:
Cartesian() : x(0), y(0) {} // 构造函数
void input() { // 输入函数
cout << "Enter x and y coordinates: ";
cin >> x >> y;
}
void display() const { // 显示函数
cout << "(" << x << ", " << y << ")" << endl;
}
void assign(const Cartesian& c) { // 赋值函数
x = c.x;
y = c.y;
}
};
int main() {
Cartesian c1, c2;
c1.input();
c2.input();
cout << "c1 = ";
c1.display();
cout << "c2 = ";
c2.display();
c1.assign(c2);
cout << "After assigning c2 to c1, c1 = ";
c1.display();
return 0;
}
```
程序中定义了 `Cartesian` 类,包含了 x 和 y 两个私有成员变量,以及一个构造函数、一个输入函数、一个显示函数和一个赋值函数。构造函数用于将 x 和 y 坐标初始化为 0,输入函数用于从标准输入流中分别读取 x 和 y 坐标,显示函数用于输出 x 和 y 坐标,赋值函数用于将一个 `Cartesian` 对象的 x 和 y 坐标赋值给当前对象。
在 `main` 函数中,分别创建了两个 `Cartesian` 对象 `c1` 和 `c2`,并从标准输入流中读取它们的 x 和 y 坐标。随后,分别输出 `c1` 和 `c2` 对象的值,并将 `c2` 对象的值赋值给 `c1` 对象。最后,输出经过赋值后的 `c1` 对象的值。
阅读全文