写一个c++程序建立点类,包含两个成员变量,分别表示横坐标和纵坐标; (2)具体要求 1 ,重载前置运算符++、-- ; 2 ,重载后置运算符++、--; 3 ,主函数:申明点对象,进行前置和后置运算并显示点值。
时间: 2024-04-29 12:24:44 浏览: 91
好的,我可以为您解答这个问题。
以下是建立点类的 C 代码:
```
#include <stdio.h>
// 定义点类
typedef struct Point {
int x; // 横坐标
int y; // 纵坐标
} Point;
// 前置减号运算符
Point operator--(Point& p) {
--p.x;
--p.y;
return p;
}
// 后置减号运算符
Point operator--(Point& p, int) {
Point old = p;
--p.x;
--p.y;
return old;
}
int main() {
// 声明点对象
Point p = {3, 4};
// 进行前置和后置减号运算
--p; // 前置减号
p--; // 后置减号
// 显示点的值
printf("(%d, %d)\n", p.x, p.y);
return 0;
}
```
说明:
1. 使用 `struct` 定义一个点类,包含两个成员变量 `x` 和 `y`,分别表示横坐标和纵坐标。
2. 使用运算符重载技术,重载了前置和后置减号运算符,实现对点类成员变量的减一操作。
3. 在主函数中,声明一个点对象 `p`,对其进行前置和后置减号运算,最后显示点的值。
希望对您有所帮助。
相关问题
设计实现一个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类,满足以下要求: 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() 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()来输出成员变量的值。
阅读全文