码迷,mamicode.com
首页 > 编程语言 > 详细

C++ Operator Overloading

时间:2015-02-26 14:34:23      阅读:178      评论:0      收藏:0      [点我收藏+]

标签:

一、重载规则

 

I.可以重载的操作符

 

+ - * / %
^ & | ~ !
= > < += -=
*= /= %= ^= &=
|= >> << >>= <<=
== != >= <= &&
|| ++ -- ->* ,
-> [] () operator new operator new[]
operator delete operator delete []

 

II.不能重载的操作符

 

:: . .* ? :
sizeof typeid new delete
static_cast dynamic_cast const_cast reinterpret_cast

 

III.基本规则


1.一元操作符可以是不带参数的成员函数[1]或带一个参数的非成员函数[1]
2.二元操作符可以是带一个参数的成员函数[1]或带两个参数的非成员函数[1]
3.operator=、operator[]、operator()、operator->只能定义为成员函数[1]
4.operator->的返回值必须是一个指针或能使用->的对象。
5.重载 operator++ 和 operator-- 时带一个 int 参数表示后缀,不带参数表示前缀。
6.除 operator new 和 operator delete 外,重载的操作符参数中至少要有一个非内建数据类型。
7.x@y 搜索范围为:x 成员函数--> 全局函数/X所在名字空间中的函数/Y所在名字空间中的函数/X的友元函
    数/Y的友元函数。
8.重载的的操作符应尽量模拟操作符对内建类型的行为。

C++ Operator Overloading

标签:

原文地址:http://www.cnblogs.com/liangxiaofeng/p/4301077.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!