45重载单目运算符

简介: 45重载单目运算符

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`,说明我们的重载运算符是正确的。

目录
相关文章
|
3月前
|
C++
C++类自加自减与<<运算符的重载实现
C++类自加自减与<<运算符的重载实现
|
3月前
1-6 运算符
1-6 运算符
29 0
|
3月前
|
C++
|
3月前
|
C语言
操作符详解(3)C语言复合赋值操作符单目操作符
操作符详解(3)C语言复合赋值操作符单目操作符
|
10月前
|
算法 C语言
算数、赋值、单目操作符介绍
算数、赋值、单目操作符介绍
60 0
|
10月前
|
存储 C语言
C语言操作符[算数操作符,赋值操作符,单目操作符,移位操作符]
C语言操作符[算数操作符,赋值操作符,单目操作符,移位操作符]
|
9月前
|
C++
33 C++ - 可重载的运算符
33 C++ - 可重载的运算符
27 0
|
3月前
单目操作符
`++` 和 `--` 是编程中的自加和自减操作符。`a++` 表示先使用变量 `a` 的值,然后将其加一,而 `++a` 则是先将 `a` 加一,再使用新值。同样,`--` 操作符也有类似前后置的区别。这两个单目操作符常用于改变和取值之间交替进行的场景。例如,如果 `a=2`,`b=a++` 后 `b` 为 2,`a` 变为 3;而 `b=++a` 会使 `b` 和 `a` 都为 3。
28 1
|
2月前
|
编译器 C++
C++运算符的重载
C++运算符的重载
19 0
|
3月前
|
C++
C++运算符号重载详解
C++运算符号重载详解