C++入门——60s从0到1
重载单目运算符
C++重载单目运算符是一种常见的操作,通过重载单目运算符,可以让用户更加方便地使用自定义数据类型。
重载单目运算符的语法
在C++中,单目运算符是指只需要一个操作数进行计算的运算符,例如 ++、--、+、- 等。重载单目运算符的语法如下:
class MyClass { public: // 普通成员函数 MyClass& operator++() { this->a++; return *this; } };
在上面的代码中,我们定义了一个 `MyClass` 类,并重载了单目运算符 `++`。该运算符需要一个参数,表示需要对当前对象进行自增操作。在函数体中,我们将 `a` 的值加 1,并将结果返回给当前对象。
示例代码
下面是一个简单的示例代码,演示如何重载单目运算符:
#include <iostream> using namespace std; class MyClass { public: // 构造函数 MyClass(int a = 0) : m_a(a) {} // 获取值 int getValue() const { return m_a; } // 重载自增运算符 MyClass& operator++() { m_a++; return *this; } private: int m_a; // 值 }; int main() { MyClass a(10); a++; // 使用重载的自增运算符 cout << "a = " << a.getValue() << endl; // 输出结果 return 0; }
在上面的代码中,我们定义了一个 `MyClass` 类,表示一个简单的数值类型。该类包含一个私有成员变量 `m_a`,表示对象的值。我们还重载了单目运算符 `++`,用于对当前对象进行自增操作。最后在 `main()` 函数中,我们创建了一个 `MyClass` 对象 `a`,并将它自增 1。最后输出结果,可以看到输出的结果为 `11`,说明我们的重载运算符是正确的。