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

C++中operator用法

作者:野牛程序员:2023-07-14 14:39:12 C++阅读 2653

在C++中,operator是用于定义和重载运算符的关键字。运算符可以是算术运算符(如+-*/等),逻辑运算符(如&&||!等),比较运算符(如==!=<>等),以及其他自定义的运算符。

以下是在C++中使用operator的一些常见用法:

  1. 运算符重载:可以使用operator关键字定义和重载各种运算符。例如,可以重载+运算符来执行自定义的加法操作:

class MyClass {
public:
    int value;

    MyClass(int val) : value(val) {}

    MyClass operator+(const MyClass& other) {
        return MyClass(value + other.value);
    }
};

MyClass obj1(5);
MyClass obj2(10);
MyClass result = obj1 + obj2;  // 调用重载的+运算符
  1. 自增自减运算符重载:可以使用++--运算符进行前缀和后缀自增或自减操作的重载:

class Counter {
public:
    int count;

    Counter(int initial) : count(initial) {}

    Counter& operator++() {
        // 前缀自增
        count++;
        return *this;
    }

    Counter operator++(int) {
        // 后缀自增
        Counter temp(count);
        count++;
        return temp;
    }
};

Counter c(5);
++c;  // 前缀自增
Counter d = c++;  // 后缀自增
  1. 关系运算符重载:可以重载关系运算符(如==!=<>等)来进行自定义的对象比较操作:

class Point {
public:
    int x, y;

    Point(int xval, int yval) : x(xval), y(yval) {}

    bool operator==(const Point& other) {
        return (x == other.x) && (y == other.y);
    }
};

Point p1(2, 3);
Point p2(2, 3);
if (p1 == p2) {
    // 执行相等比较
}

这些只是使用operator关键字的一些示例用法。可以根据需要定义和重载其他运算符,并根据自己的类和对象类型实现相应的操作。


野牛程序员教少儿编程与信息学奥赛-微信|电话:15892516892
野牛程序员教少儿编程与信息学竞赛-微信|电话:15892516892
相关推荐

最新推荐

热门点击