操作符重载
双目操作符重载
单目操作符重载
操作符++和–的重载
实现途径
operator #- “#”代表任意可重载的操作符
1 | //成员函数 |
基本原则
- 只能重载C++语言中已有的操作符,不可臆造新的操作符
- 不能重载
. .* ?: :: sizeof - 不能改变操作数个数。
- 不改变原操作符的优先级和结合性
双目操作符重载
成员变量函数
1 | class <类名> |
全局函数
1 | <返回值类型> operator #(<类型1> <参数1>, |
单目操作符重载
- 作为成员函数重载
- 作为全局(友元)函数重载
操作符++和–的重载
1 | class Counter |
重载操作符new
操作符new必须作为静态的成员函数来重载(static说明可以不写),其格式为:
void *operator new(size_t size);返回类型必须为void *
参数size表示对象所需空间的大小,其类型为
size_t
1 |
|
重载delete
操作符delete也必须作为静态的成员函数来重载(static说明可以不写),其格式为:
void operator delete(void *p, size_t size);返回类型必须为void
第一个参数类型为void *,指向对象的内存空间
第二个参数可有可无,如果有,则必须是size_t类型。
- Title: 操作符重载
- Author: SyEic_L
- Created at : 2025-03-26 19:17:21
- Updated at : 2025-04-02 10:47:29
- Link: https://blog.syeicl.vip/2025/03/26/操作符重载/
- License: This work is licensed under CC BY-NC-SA 4.0.
推荐阅读
推荐阅读
Comments