操作符重载一些注意事项
- 不能重载操作符
- 只在类的成员函数中重载的操作符
- 只在友元函数中重载的操作符
- 补充
不能重载操作符
- "."(类成员访问运算符)
- " .*"(类成员指针访问运算符)
- "::"(域运算符)
- "siezof"(长度运算符)
- " ?:"(条件运算符)
只在类的成员函数中重载的操作符
- =(等号)
- [](下标访问)
- ()(括号)
- ->(指针访问)
只在友元函数中重载的操作符
- << 和 >>(输出输入流)
原因:如果是重载双目操作符(即为类的成员函数,就只要设置一个参数作为右侧运算量,而左侧运算量就是对象本身而 >> 或<< 左侧运算量是 cin或cout 而不是对象本身,所以不满足后面一点就只能申明为友元函数了。
补充
前置++运算符为 类型+operator++()
后置++运算符为 类型+operator++(类型)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)