C++语言中什么运算符不能重载

如题所述

C++中绝大部分的运算符允许重载

不能重载的运算符只有5个:

(1). (成员访问运算符)。

(2).* (成员指针访问运算符)。

(3)∷(域运算符)。

(4)sizeof(长度运算符)。

(5)?: (条件运算符)。

扩展资料:

重载操作符的限制:

1、重载不能改变该运算符用于内置类型时的涵义,程序员不能改变运算符+用于两个int型时的含义。

2、运算符函数的参数至少有一个必须是类的对象或者类的对象的引用。这种规定可以防止程序员运用运算符改变内置类型的涵义。

3、重载不能改变运算符的优先级

4、重载不能改变运算符的结合律

5、重载不能改变运算符操作数的个数。比如+需要两个操作数,则重载的+也必须要有两个操作数。

温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2017-11-28
重载操作符的限制:
1 并不是所有的操作符都能被重载。除了. ,.* ,:: ,? : ,sizeof,typeid这几个运算符不能被重载,其他运算符都能被重载
2 重载不能改变该运算符用于内置类型时的函义,程序员不能改变运算符+用于两个int型时的含义。
3 运算符函数的参数至少有一个必须是类的对象或者类的对象的引用。这种规定可以防止程序员运用运算符改变内置类型的函义。
4 重载不能改变运算符的优先级。
5 重载不能改变运算符的结合律。
6 重载不能改变运算符操作数的个数。比如+需要两个操作数,则重载的+也必须要有两个操作数。本回答被提问者采纳
第2个回答  2012-05-30
C++中绝大部分的运算符允许重载。

不能重载的运算符只有5个:

. (成员访问运算符)

.* (成员指针访问运算符)

∷ (域运算符)

sizeof (长度运算符)

?: (条件运算符)
第3个回答  2012-05-30
“.”、“::”、“?:”和“sizeof”
第4个回答  2012-05-30
有五个
. .* :: ?:: sizeof
相似回答