c++运算符重载什么意思的啊,c++中的运算符重载主要用来做什么?

2021-02-25 15:42:04 字数 4692 阅读 6968

1楼:谁说

同一运算符具备进行不同运算能力称为运算符重载。它基于但严于函数重载子算内法重载,其实

容质是运算符形状不变,使用语法相同,操作意义迥异的函数重载。如“+”,直接使用可用于“1+2”,“101+2.2”,进行重载后可以复数类对象想x1和x2的加“x1+x2”等等。

2楼:寻找

所谓运算符重载,就是对已有的运算符重新进

行定义,赋予其另一版种功能,以适应不同的权数据类型。如果还有什么不明白,可以和我**聊 追问: ok 你**号码多少的啊!!

我的:294696649 谢谢,还有很多很多的问题等待着你的回答呢! o(∩_∩)o~ 回答:

251157654, 顺便采纳了吧。谢谢。采纳哦

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

3楼:小丁创业

c++中绝大bai部分的运算符du允许重载zhi。

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

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

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

(3)∷(域运算符)。

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

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

4楼:匿名用户

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

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

. (成员内访问容

运算符)

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

∷ (域运算符)

sizeof (长度运算符)

?: (条件运算符)

5楼:匿名用户

重载抄操作符的限制:

1 并不是所有的

袭操作符都能被重载。除了. ,.* ,:: ,? : ,sizeof,typeid这几个运算符不能被重载,其他运算符都能被重载

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

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

4 重载不能改变运算符的优先级。

5 重载不能改变运算符的结合律。

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

6楼:匿名用户

几乎全部可以. 不可以的只有4个

:: 作用域操作符

. 点号, 即成员访问操作符

? : 逻辑操作符

.* 这个一下还真想不起来叫什么

7楼:苦孩子

有五个. .* :: ?:: sizeof

8楼:匿名用户

“.”、“::”、“?:”和“sizeof”

c++中的运算符重载主要用来做什么?

9楼:匿名用户

主要是用来使对象之间可以做运算操作的.

比如,你定义了一个类的对象a而这个对象中有一个数据,又定义了一个b对象也有一个数据,你须要使用a+b来计算这两个对象中数据的合,就须要运算符重载.

运算符重载不光是可以重载四则运算的.也可以重载 下标运算符,<< >>输入输出运算符等等.

运算符重载主要的用途只是为了让运算符其前后跟后的对象可以直接像对象内的数据一样运算

10楼:匿名用户

主要用来

定义类的运算,比如你定义个复数类,

然后就需要定义复数的加减乘除。

一个很简单的例子,平面中质点速度就是个复数。

定义了速度的加减乘除,还可以定义其他运算,如点积,×积。

然后用这个类的时候,直接用重载的运算符运算,直观,简单。

显然,你可以不用运算符重载,而是直接用函数实现复数的各种运算。

但是运算符直观。

11楼:匿名用户

自定义运算符,用来实现符合自己实际的需要。

12楼:匿名用户

个人理解:就是为了实现不同对象里面成员的运算

c++运算符重载是什么意思

13楼:北大青鸟

所谓重载,就是重新赋予新的含义。函数重载就是对一个已有的函数赋予新的含义,使之实现新功能,因此,一个函数名就可以用来代表不同功能的函数,也就是”一名多用”。

运算符也可以重载。实际上,我们已经在不知不觉之中使用了运算符重载。例如,大 家都 已习惯于用加法运算符”+”对整数、单精度数和双精度数进行加法运算,如5+8, 5.

8 +3.67等,其实计算机对整数、单精度数和双精度数的加法操作过程是很不相同的, 但由于c++已经对运算符”+”进行了重载,所以就能适用于int, float, double类型的运算。

又如”<<“是c++的位运算中的位移运算符(左移),但在输出操作中又是与流对 象cout 配合使用的流插入运算符,”>>“也是位移运算符(右移),但在输入操作中又是与流对象 cin 配合使用的流提取运算符。这就是运算符重载(operator overloading)。c++系统对”<<“和”>>“进行了重载,用户在不同的场合下使用它们时,作用是不同 的。

对”<<“和”>>“的重载处理是放在头文件stream中的。因此,如果要在程序中用”<<“和”>>”作流插入运算符和流提取运算符,必须在本文件模块中包含头文件stream(当然还应当包括”using namespace std“)。

在c++中不能在程序中直接用运算符”+”对复数进行相加运算。用户必须自己设法实现复数相加。例如用户可以通过定义一个专门的函数来实现复数相加。

14楼:匿名用户

比如+运算在正常情况下只能对基本类型(int 、float等)进行加法

重载之后就可以对复数a+bi进行加法(重载函数要针对复数去写) 如:(a+bi)+(c+di)=(a+b)+(c+d)i

重载完之后+就可以完成上面功能

15楼:匿名用户

先去了解什么是函数重载吧。大概意思就是两个同名的函数,利用形参的不同来作区分。

c++的所有运算符都可以重载吗

16楼:金色潜鸟

||大部制分可以重载,例如:

算术运算符:+,-,*,/,%,++,--;

位操作运算符:&,|,~,^,<<,>>

逻辑运算符:!,&&,||;

比较运算符:<,>,>=,<=,==,!=;

赋值运算符:=,+=,-=,*=,/=,%=,&=,|=,^=,<<=,>>=;

其他运算符:,(),->,,(逗号运算符),new,delete,new,delete,->*。

不允许重载的有:

分量运算符 点号

成员对象选择 点星号

作用域解析 双冒号

条件运算符 问号冒号

.,.*,::,?:

可能还有吧。

c++中为什么要用输入输出运算符重载,有什么作用?。。。。急用。。。新手不懂!

17楼:救世大英雄啊

比如<<,在平时他是输出普通变量等,如int a=10;cout<类的对象,如class people{};

people p();

你想直接用cout<

18楼:匿名用户

简单解释一下,a、b为整型,那么可以直接a+b,如果a、b是类student的对象呢?a+b表示什么?重载运算符最大的用处就是可以用于两个对象或者对象与常规型对象之间,a+b你可以重载'+'为类student的分数相加,或者其他(年龄、钱数...

),明白?

19楼:匿名用户

重载运算符主要是为了。。。比如 没有 string类型 在c里面你想要 让 char * p1 = "123" char *p2 = "456" p1 + p2 。。。这种结果无法预知的,但是你通过string 类重载 + 运算符 你可以 string p1 string p2 .............

p1 + p2 这种就是正确的了。主要方便运算操作

c++里什么是运算符重载?在什么情况下用?

20楼:匿名用户

运算符重载 operator 关键字,比如你有一个class a;

a a;

a b;

a = b;

如果在你的class a中没有定义 operator = 构造函数,a = b 就会出错;

同理,也可以重载 operator 、operator <、operator >等函数,为的就是实现 a、ab等自定义类型操作

21楼:

运算符重载就是编译器不

知道运算规则,由你来制定规则 比如结构体point 你直接用两个结构体相加,编译器就不知道怎么加,所以要你重载+号,告诉编译器运算规则,实现两个结构体间的运算

不同数据类型之间的运算,还有复合数据类型参与的运算都要运算符重载

22楼:匿名用户

简单的说就是重新定义运算符的动作。比如可以定义+运算符的动作为连接字符串,日期+1,虚数相加,矩阵相加等等。

c++中的运算符重载主要用来做什么

1楼 匿名用户 主要是用来使对象之间可以做运算操作的 比如 你定义了一个类的对象a而这个对象中有一个数据 又定义了一个b对象也有一个数据 你须要使用a b来计算这两个对象中数据的合 就须要运算符重载 运算符重载不光是可以重载四则运算的 也可以重载 下标运算符 输入输出运算符等等 运算符重载主要的用途...

请问在c++中是什么运算符,请问c++中的"^"运算符是什么运算符.

1楼 匿名用户 和c是一样的,先对所有的数据转换成二进制, 如果对应位有一个为1,则该位为1, 是两个全为1,则为1,否则为0, 代表两位相同的话则为0,否则为1 则4 6 100 110 110, 5 7 101 111 101 8 9 1000 1001 0001 2楼 傲世修罗王 是位运算符,...

c++中函数重载的原则是什么啊,C++中的“重载”是什么意思?

1楼 百度用户 函数重载的定义 函数重载是指在同一作用域内,可以有一组具有相同函数名,不同参数列表的函数,这组函数被称为重载函数。 所以原则就是相同的函数名,不同的参数列表。返回值不能作为重载依据。 2楼 函数名相同 形参类型或形参数目不同,这是最基本的要求。 c 中的 重载 是什么意思? 3楼 凌...