设计实现一个CPoint类,满足以下要求: 1)该类包含两个整型成员变量x(横坐标)和y(纵坐标),以及一个输出函数Print()用来输出横坐标和纵坐标,不可以在类的外部直接访问成员变量; 2)可以采用没有参数的构造函数初始化对象,此时的成员变量采用默认值0; 3)可以采用直接输入参数的方式来初始化该类的成员变量; 4)可以采用其它的CPoint对象来初始化该类的成员变量; 5)设计一个主函数来测试以上功能。
时间: 2023-05-19 09:06:58 浏览: 103
CPoint类的实现如下:
```c++
#include <iostream>
using namespace std;
class CPoint {
private:
int x, y;
public:
CPoint() : x(0), y(0) {}
CPoint(int x, int y) : x(x), y(y) {}
CPoint(const CPoint& p) : x(p.x), y(p.y) {}
void Print() const {
cout << "x = " << x << ", y = " << y << endl;
}
};
int main() {
CPoint p1;
p1.Print();
CPoint p2(3, 4);
p2.Print();
CPoint p3(p2);
p3.Print();
return 0;
}
```
输出结果为:
```
x = 0, y = 0
x = 3, y = 4
x = 3, y = 4
```
以上代码实现了CPoint类的要求,可以通过构造函数和拷贝构造函数来实现不同的初始化方式,同时也实现了输出函数Print()来输出成员变量的值。
相关问题
设计实现一个CPoint类,满足以下要求:1)该类包含两个整型成员变量x(横坐标)和y(纵坐标),以及一个输出函数Print()用来输出横坐标和纵坐标,不可以在类的外部直接访问成员变量;2)可以采用没有参数的构造函数初始化对象,此时的成员变量采用默认值0;3)可以采用直接输入参数的方式来初始化该类的成员变量;4)可以采用其它的CPoint对象来初始化该类的成员变量;5)设计一个主函数来测试以上功能。
CPoint类的实现如下:
```c++
#include <iostream>
using namespace std;
class CPoint {
private:
int x, y;
public:
CPoint() : x(0), y(0) {}
CPoint(int x, int y) : x(x), y(y) {}
CPoint(const CPoint& p) : x(p.x), y(p.y) {}
void Print() { cout << "x = " << x << ", y = " << y << endl; }
};
int main() {
CPoint p1; // 使用默认构造函数初始化对象
CPoint p2(1, 2); // 使用直接输入参数的方式初始化对象
CPoint p3(p2); // 使用另一个CPoint对象来初始化对象
p1.Print();
p2.Print();
p3.Print();
return 0;
}
```
输出结果为:
```
x = 0, y = 0
x = 1, y = 2
x = 1, y = 2
```
以上实现满足了题目要求。
设计实现一个CPoint类,满足以下要求: a. 该类包含两个整型成员变量x(横坐标)和y(纵坐标),以及一个输出函数Print()用来输出横坐标和纵坐标,要求不可以在类的外部直接访问成员变量; b.可以采用没有参数的构造函数初始化对象,此时的成员变量采用默认值0; c.可以采用直接输入参数的方式来初始化该类的成员变量; d.可以采用其它的CPoint对象来初始化该类的成员变量; e.设计一个主函数来测试以上功能。
以下是C++代码实现:
```
#include <iostream>
using namespace std;
class CPoint {
private:
int x, y;
public:
CPoint() { // 构造函数,初始化为0
x = 0;
y = 0;
}
CPoint(int a, int b) { // 构造函数,直接初始化
x = a;
y = b;
}
CPoint(CPoint& another) { // 构造函数,使用另一个对象初始化
x = another.x;
y = another.y;
}
void Print() { // 输出函数
cout << "(" << x << ", " << y << ")" << endl;
}
};
int main() {
CPoint point1; // 初始化为0
point1.Print(); // 输出 (0, 0)
CPoint point2(3, 4); // 直接初始化为 (3, 4)
point2.Print(); // 输出 (3, 4)
CPoint point3(point2); // 使用 point2 对象初始化 point3 对象
point3.Print(); // 输出 (3, 4)
return 0;
}
```
阅读全文