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

目录
相关文章
|
27天前
|
C++
C++类自加自减与<<运算符的重载实现
C++类自加自减与<<运算符的重载实现
|
4月前
|
C语言
操作符详解(3)C语言复合赋值操作符单目操作符
操作符详解(3)C语言复合赋值操作符单目操作符
|
6月前
|
算法 C语言
算数、赋值、单目操作符介绍
算数、赋值、单目操作符介绍
46 0
|
6月前
|
存储 C语言
C语言操作符[算数操作符,赋值操作符,单目操作符,移位操作符]
C语言操作符[算数操作符,赋值操作符,单目操作符,移位操作符]
|
5月前
|
C++
33 C++ - 可重载的运算符
33 C++ - 可重载的运算符
22 0
|
1月前
|
C++
C++运算符号重载详解
C++运算符号重载详解
|
3月前
|
存储 C语言
C learning_12 操作符前篇(算术操作符、移位操作符、位操作符、赋值操作符、单目操作符、关系操作符、逻辑操作符)
C learning_12 操作符前篇(算术操作符、移位操作符、位操作符、赋值操作符、单目操作符、关系操作符、逻辑操作符)
|
11月前
|
存储 编译器 C语言
操作符(运算符)详解
🐰算数操作符:+ - * / % 🐰移位操作符:<< >> 🌸进制的定义 🌸整数二进制表示形式 🌸<< 左移操作符 🌸>>右移操作符 🐰位操作符:& | ^ 🌸&(按位与)|(按位或) 🌸^(按位异或) 🐰赋值操作符: =