c++运算符重载

作者&投稿:刀玛 (若有异议请与网页底部的电邮联系)

...对象技术中的几个术语;封装、继承、多态、重载。
(1)封装:将对象的数据和实现操作封装在对象内部,外界看不见也不能操作,实现了信息的隐藏;(2)继承:子类可自动共享基类中定义的数据及方法;(3)多态:在类的不同层次可以共享(公用)一个行为(方法)的名字,但是不同层次的每个类可以按各自的需求来实现这个行为;(4)重载:包括函数重载和运算符重载,函数...

在C++中运算符重载的时候究竟什么时候应该加引用,什么时候不应该加引...
如果返回值会被赋值,就必须返回引用,例如=重载\\x0d\\x0a如果返回值是一个局部变量,就一定不能返回引用,例如+重载\\x0d\\x0a如果为了提高效率,参数可以使用引用,\\x0d\\x0a而[]的实际参数经常是一个常量,常量你是无法引用,所以不能用引用作为[]的参数。

将前缀运算符“--”重载为非成员函数,下列原型中能正确用于类中说明的...
【答案】:D 非成员函数重载用友元函数的形式实现,“--”运算符重载分为前置和后置两种重载方式。用友元函数来实现“--”运算符的重载时,前置“--”运算符的重载的一般格式为:friend<type>operator--(ClassName &);后置++运算符的重载的一般格式为:伍end<type>operator--(ClassName &,int)。

运算符重载必须遵循哪些原则
1、重载后的操作符,必须至少有一个操作数是用户定义的类型。2、不能违反操作符的句法规则,比如用“+”计算两个对象的差。3、不能定义新的操作符,要使用原有的。4、有一些操作符是不能重载的,但是绝大部分的算术运算符和逻辑运算符都可以重载。

运算符重载? 什么叫运算符重载? 这个7,8是怎么计算出来的?
v1 + v2,才是运算符重载,运算重载,是指用系统的运算符,计算你定义的新的数据类型。如:+ 号运算,在系统中他定义了实数的相加运算,对于字符串他被定义为字符串的连接。你上面是将+号的运算定义到一个两维矢量上,具体定义实现应该是:def __add__(self,other): return Vector(self.a + ...

在C++中有哪些运算符不可以重载的?
或许有人会觉得重载一个“x::y”(其中x是实际对象,而非名字域或类名)是一个好主意,但这样做引入了新的语法[译注:重载的本意是让操作符可以有新的语义,而不是更改语法——否则会引起混乱],我可不认为新语法带来的复杂性会给我们什么好处。原则上来说,“.”运算符是可以被重载的,就像“-...

成员函数重载运算符和友元函数重载运算符
所以说,单目运算符建议选择成员函数。下面是重点 =,(),[],-> 原因很简单,会和编译器默认分配的运算符重载成员函数冲突,引发歧义。 我们知道友元函数不是类的成员函数,它只是类的“朋友“,具有访问把它声明为“朋友”的类的数据成员的权限而已。 那么当把赋值运算符重载为类的友员...

下列运算符不能重载为友元函数的是( )。
【答案】:A 关于运算符重载为友元函数有如下规定:①一般情况下,单目运算符最好重载为类的成员函数,双目运算符则最好重载为类的友元函数;②双耳运算符“=、()、[]、->”不能重载为类的友元函数。所以本题答案为A。

运算符重载的原则是什么?
1、重载后的操作符,必须至少有一个操作数是用户定义的类型。2、不能违反操作符的句法规则,比如用“+”计算两个对象的差。3、不能定义新的操作符,要使用原有的。4、有一些操作符是不能重载的,但是绝大部分的算术运算符和逻辑运算符都可以重载。

c++运算符重载
在进行对象之间的运算时,程序会调用与运算符相对应的函数进行处理,所以运算符重载有两种方式:成员函数和友元函数。成员函数的形式比较简单,就是在类里面定义了一个与操作符相关的函数。友元函数因为没有this指针,所以形参会多一个。class A { public:A(int d):data(d){} A operator+(A&);\/\/...

茌詹19552026566问: c++运算符重载怎么理解 -
古浪县恒得回答: 重载运算符通俗的讲就是赋予运算符以新的意义,比如说在C语言里+这个运算符只能在相同类型的数之间进行计算,如果将一个int型与一个double型的数相加就会报错,但实际生活中这很明显是不够的,有时需要将两个分数相加 将时间相加 或者将两个复数相加,这就要用到运算符重载了,C++中有很多运算符都是可以重载的,你上面的那个就是对+号的重载,还有那个关键词应该是complex吧 那个CC应该是编者定义的,跟后面的代码有关

茌詹19552026566问: c++运算符重载 -
古浪县恒得回答: c++的一大特性就是重载(overload),通过重载可以把功能相似的几个函数合为一个,使得程序更加简洁、高效.在c++中不止函数可以重载,运算符也可以重载.由于一般数据类型间的运算符没有重载的必要,所以运算符重载主要是面向对象...

茌詹19552026566问: C++运算符重载什么意思啊、、看不懂...麻烦说通俗点,3Q! -
古浪县恒得回答: 比如说你定义了一个类,类包括一个成员函数add,目的是实现该类的加法语义.如果我们利用运算符重载的话就可以用+这个符合来调用同样实现加法操作的运算符重载函数.这个+比直接写add好看、可读性强.实际上运算符重载就是函数调用的一种方便形式.

茌詹19552026566问: c++中什么是运算符的重载 -
古浪县恒得回答: 运算符的重载也就是函数的重载,比如:两个整数的加法直接可以相加(a+b=c)),但是对于类的对象来说是不可以直接这样相加的,就需要你写函数来实现可以这样相加,这就是重载,希望对你有所帮助

茌詹19552026566问: C++中的运算符重载,帮我详细介绍下 -
古浪县恒得回答: 运算符重载是对已有的运算符赋予多重含义,使同一个运算符作用于不同类型的数据导致不同类型的行为.运算符重载的实质就是函数重载.在实现过程中,首先把指定的运算表达式转化为对运算符函数的调用,运算对象转化为运算符函数的实...

茌詹19552026566问: C++运算符重载详细讲解 -
古浪县恒得回答: 任何一个函数第一个都是返回类型 这个返回类型是类引用.运算符重载的意义是给符号“=”赋予了一个新的含义,不仅可以给普通变量赋值,还可以给类赋值

茌詹19552026566问: c++重载运算符
古浪县恒得回答: C++中预定义的运算符其运算对象只能是基本数据类型,而不适用于用户自定义类型(如类).// 同上,内置的运算符 只能应用于内置的数据类型 ...比如 int char double .等等.(一) C++不允许用户自己定义新的运算符,只能对已有的C++运算...

茌詹19552026566问: C++ 类中的运算符重载 -
古浪县恒得回答: 记住:操作符重载函数,他只是一个函数,他是普通的函数,只是函数名称有一点特别而已,比如CComplex& operator +=(const CComplex &r_c) 这里的函数名称是operator +=,其他的东西都与函数完全一样,有反回类型,有形参.你问的问题...

茌詹19552026566问: c++里面怎么重载运算符[ ]???急急急啊!!! -
古浪县恒得回答: 数组元素访问操作符“[ ]”只能作为非费静态的成员函数重载,由于C++不对数组下标越界进行检查,对此常重载“[ ]”来实现.下面举个例子: class String {char *p;................public:char& operator [ ](int i){ if(i>=strlen(p) || i<0){cerr<<"下标...

茌詹19552026566问: C++哪些运算符重载可以重载 -
古浪县恒得回答: 基本都可以重载哦,反而不能重载的只有少数5个: 成员运算符“.”、指针运算符“*”、作用域运算符“::”、“sizeof”、条件运算符“?:”.


本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网