问:C++中的运算符重载

以下说法正确的是:
A 运算符重载成员函数的时候,如果参数表中没有参数 ,重载的是一元运算符
B 一元运算符只能作为成员函数重载
C二元运算符重载为非成员函数时候,参数表中只有一个参数
D C++中可以重载所有的运算符

请高手给我讲明白对在哪里,错又在何处,最好举例说明

A 是对的
B 一元运算符可以用友元函数来重载的。比如 正号和负号 都可以用友元函数。
C 二元运算符重载为非成员函数时,应该是有两个参数的。
D c用 三元运算符 ?: 点运算符 作用域等等运算符 都不可以重载的
温馨提示:内容为网友见解,仅供参考
第1个回答  2008-01-24
A 正确
B 可用普通函数重载
C 二元运算符重载为非成员函数需要两个参数。
D 有些运算符是不能重载的,如: ?,::,sizeof,.,.*
第2个回答  2008-01-23
A 是对的

D C++中可以重载所有的运算符
.
.*
::
sizeof
?:
不能重载

C++中的运算符重载,帮我详细介绍下
运算符重载为类的用户提供了更直观的接口,使类类型的对象也可以像普通变量一样进行运算符的表达式运算。运算符重载允许C\/C++的运算符在用户定义类型(类)上拥有一个用户定义的意义。二、运算符重载的规则 (1)C++中的运算符除了少数几个以外,全部可以重载,而且只能重载已有的运算符。可以重载的运算符...

c++运算符重载
c++的一大特性就是重载(overload),通过重载可以把功能相似的几个函数合为一个,使得程序更加简洁、高效。在c++中不止函数可以重载,运算符也可以重载。由于一般数据类型间的运算符没有重载的必要,所以运算符重载主要是面向对象之间的。在进行对象之间的运算时,程序会调用与运算符相对应的函数进行处理,...

C\/C++重载运算符operator
C\/C++中的运算符重载是通过改变运算符的行为来扩展语言功能的关键。在编译过程中,运算符优先级影响着表达式树的构建,编译前端有固定规则,后端则需考虑硬件差异的优化,是编译器复杂性的重要部分。重载运算符时,需注意参数限制,二元运算符必须有明确的左右操作数,不能像函数那样自由设置参数。比如,自...

C++ 运算符重载 operator
在C++中,operator 是一个关键字,用于定义和重载运算符。它允许我们将运算符与特定的成员函数或全局函数相关联,以自定义这些运算符在特定类或自定义数据类型上的行为。使用 operator 关键字时,我们紧跟着具体的运算符符号以指定要重载的运算符。例如,operator+ 用于重载加法运算符,operator- 用于重载减...

C++运算符重载什么意思啊、、看不懂。。。麻烦说通俗点,3Q!
因为像<、>、==这些运算符在C++中已有定义,作为C++的标准的一部分,所以我们要重新定义他们的用法时,就要用重载,就是要使用operator关键字。例如有这么个类 class MyClass{ int n; string name; bool operator ==(MyClass a,MyClass b) { return a.n==b.n && a.name==b...

c++的所有运算符都可以重载吗?
双目运算符重载:双目运算符(或称二元运算符)是C++中最常用的运算符。双目运算符有两个操作数,通常在运算符的左右两侧,如3+5,a=b,i<10等。在重载双目运算符时,不言而喻在函数中应该有两个参数。[例] 定义一个字符串类String,用来存放不定长的字符串,重载运算符“==”、“<”和“>”...

c++中运算符(\\" << \\")重载ostream&是什么意思
运算符重载,是对现有操作符使用于自定义用户类型的一种扩展,但具体的性质不能变,如<<表示流操作符左侧对象为流的本质不能变,+为两元操作符本质不能变,再如,对于->重载必须返回指针类型不可变!即,即使进行运算符重载,也只是有限自由!friend ostream & operator << (ostream &os, const C...

c++的所有运算符都可以重载吗
逻辑运算符:!,&&,||;比较运算符:<,>,>=,<=,==,!=;赋值运算符:=,+=,-=,*=,\/=,%=,&=,|=,^=,<<=,>>=;其他运算符:[],(),->,,(逗号运算符),new,delete,new[],delete[],->*。不允许重载的有:分量运算符 点号 成员对象选择 点星号 作用域解析 双冒号 条件运算...

C++哪些运算符不能重载?
C++中绝大部分的运算符允许重载。不能重载的运算符只有5个:(1). (成员访问运算符)。(2).* (成员指针访问运算符)。(3)∷(域运算符)。(4)sizeof(长度运算符)。(5)?: (条件运算符)。

C++运算符重载,+-*\/的重载,返回值为什么是对象而不是对象的引用?而流操...
+,-,*等返回不了引用,比如+运算符,可以如下重载(为了简单,假设A 只有int x;int y)A operator+(A a,A b) {A sum; sum.x=a.x+b.x; sum.y=a.y+b.y; return sum; } 分析不能用引用的原因: 函数传入了两个参数a,b,并且+只能传入两个参数(c++不允许自己创造运算符...

相似回答