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

目录
相关文章
|
6月前
|
C++
C++类自加自减与<<运算符的重载实现
C++类自加自减与<<运算符的重载实现
|
6月前
|
C++
|
算法 C语言
算数、赋值、单目操作符介绍
算数、赋值、单目操作符介绍
69 0
|
C++
33 C++ - 可重载的运算符
33 C++ - 可重载的运算符
33 0
|
2月前
|
C语言
C 运算符详解
在C语言中,运算符被广泛用于执行各类操作,涵盖算术、关系、逻辑、位运算、赋值、自增自减、条件及其他运算。算术运算符如`+`、`-`用于基本数学计算;关系运算符如`==`、`&gt;`则进行比较;逻辑运算符如`&&`用于条件判断;位运算符如`&`、`|`针对整数位操作;赋值运算符如`=`实现变量赋值;自增自减运算符如`++`调整变量值;条件运算符`? :`依条件返回不同值;其他运算符如`sizeof`可获取类型大小。以上运算符结合使用,能够灵活高效地处理各种编程任务。
203 88
|
1天前
|
Python
海象运算符
海象运算符。
7 2
|
5月前
|
C++
C++之运算符
C++之运算符
|
6月前
单目操作符
`++` 和 `--` 是编程中的自加和自减操作符。`a++` 表示先使用变量 `a` 的值,然后将其加一,而 `++a` 则是先将 `a` 加一,再使用新值。同样,`--` 操作符也有类似前后置的区别。这两个单目操作符常用于改变和取值之间交替进行的场景。例如,如果 `a=2`,`b=a++` 后 `b` 为 2,`a` 变为 3;而 `b=++a` 会使 `b` 和 `a` 都为 3。
44 1
|
6月前
|
C++
c++运算符
c++运算符
53 2
|
5月前
|
编译器 C++
C++运算符的重载
C++运算符的重载
28 0