C++什么是运算符重载

 我来答
房子a房子a
2018-03-28 · TA获得超过2047个赞
知道小有建树答主
回答量:783
采纳率:85%
帮助的人:565万
展开全部
c/c++语言中,运算符(比如:等号、大于小于号、判相等这些)其实是函数。只不过这些函数并不是由字母命名的而已。针对各种类型的变量运算符函数的实现也是不同,比如int变量的==操作,就需要判断4个字节的内存数据,char类型的变量==操作就需要判断1个字节的数据。当我们为自己的程序定义了一个新类型时(如:类、结构体),我们也可以为这个新类型来定义运算符,比如:
struct exmple
{
int a;
char b;
}
如果仅定义结构体的话,结构体之间是无法通过运算符来操作的,如
exmple ex1 = (exmple)ex2 就是不允许的。
但是如果我们为exmple结构体重载了=运算符的话,就可以执行上面那一句了。
百度网友8c8705b
2018-03-28 · 超过25用户采纳过TA的回答
知道答主
回答量:69
采纳率:81%
帮助的人:13.8万
展开全部
运算符重载可以使用户像操作基本数据类型一样, 用最简洁、自定义的运算符操作自定义的类对象。 大部分预定义的运算符都可以被重载, 有5个运算符不能被重载, 分别是 . (类成员操作符) ?:(三目条件运算符) .*(指针指向的类成员操作符) :: (作用域操作符) sizeof (类型字长操作符), 先就这样吧.....
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
黑神之名
2018-03-28
知道答主
回答量:8
采纳率:100%
帮助的人:3.5万
展开全部
CPU支持的就是最基本的运算符,举个栗子:等于号,只支持两种情况,整数,和浮点,那么数组和字符串的等于怎么办?他们要使用等于号只能重新定义等于号的意思了,是以循环的模式将一段连续的变量进行赋值操作。总而言之重新定义运算符的意思的行为就是重载运算符。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式