当前位置:首页 C++ > 正文

c++定义 Point 类,有坐标 x、y 两个成员变量,对 Point 类重载“++”(自增),“--”(自减)运算符,实现对坐标值的改变。

作者:野牛程序员:2024-10-29 16:59:31 C++阅读 2684
c++定义 Point 类,有坐标 x、y 两个成员变量,对 Point 类重载“++”(自增),“--”(自减)运算符,实现对坐标值的改变。

c++定义 Point 类,有坐标 x、y 两个成员变量,对 Point 类重载“++”(自增),“--”(自减)运算符,实现对坐标值的改变。

以下是一个简单的 C++ Point 类的实现,其中重载了 ++-- 运算符,以便在调用这些运算符时对坐标值进行自增和自减操作:

#include <iostream>

class Point {
private:
    int x, y;

public:
    // 构造函数
    Point(int x = 0, int y = 0) : x(x), y(y) {}

    // 重载自增运算符
    Point& operator++() {  // 前置自增
        ++x;
        ++y;
        return *this;
    }

    Point operator++(int) {  // 后置自增
        Point temp = *this;
        ++(*this);
        return temp;
    }

    // 重载自减运算符
    Point& operator--() {  // 前置自减
        --x;
        --y;
        return *this;
    }

    Point operator--(int) {  // 后置自减
        Point temp = *this;
        --(*this);
        return temp;
    }

    // 打印点的坐标
    void print() const {
        std::cout << "Point(" << x << ", " << y << ")" << std::endl;
    }
};

int main() {
    Point p(2, 3);
    
    p.print();  // 输出 Point(2, 3)

    ++p;
    p.print();  // 输出 Point(3, 4)

    p++;
    p.print();  // 输出 Point(4, 5)

    --p;
    p.print();  // 输出 Point(3, 4)

    p--;
    p.print();  // 输出 Point(2, 3)

    return 0;
}

在这个实现中,Point 类有两个成员变量 xy,并定义了前置和后置的自增、自减运算符重载。这些重载实现了对坐标值的简单变化。使用 print 方法可以方便地查看当前点的坐标。

野牛程序员教少儿编程与信息学奥赛-微信|电话:15892516892
野牛程序员教少儿编程与信息学竞赛-微信|电话:15892516892
  • c++
  • 最新推荐

    热门点击