定义一个复数类complex, 重载运算符 “+”,使之能用于复数的加法运算,将运算符函数重载为成员函数;重载运算符 “-”,使之能用于复数的减法运算,将运算符函数重载为友元函数。编写主函数,测试运算符重载。

定义一个复数类complex, 重载运算符 “+”,使之能用于复数的加法运算,将运算符函数重载为成员函数;重载运算符 “-”,使之能用于复数的减法运算,将运算符函数重载为友元函数。编写主函数,测试运算符重载。


参考答案和解析
friend complex& operator--(complex&) friend complex& operator--(complex&) 解析:本题考核运算符重载的定义。程序要填入的是运算符函数operator--在类complex中的声明,运算符“--”是作为友元函数重载的。根据题目给出的条件,易得到答案。

相关考题:

若以非成员函数形式 , 为类 Bounce 重载 “ ! ” 运算符 , 其操作结果为一 bool 型数据 , 则该运算符重载函数的原型是 【 13 】 。

下列关于运算符重载的叙述中,错误的是( )。A.有的运算符可以作为非成员函数重载B.所有的运算符都可以通过重载而被赋予新的含义C.不得为重载的运算符函数的参数设置默认值D.有的运算符只能作为成员函数重载

( 24 )下列关于运算符重载的描述中,正确的是A )运算符重载为成员函数时,若参数表中无参数,重载的是一元运算符B )一元运算符只能作为成员函数重载C )二元运算符重载为非成员函数时,参数表中有一个参数D ) C++ 中可以重载所有的运算符

若以非成员函数形式,为类Bounce重载“!”运算符,其操作结果为一个bool型数据,则该运算符重载函数的原型是______。

( 14 )下列有关运算符函数的描述中,错误的是A )运算符函数的名称总是以 operator 为前缀B )运算符函数的参数可以是对象C )运算符函数只能定义为类的成员函数D )在表达式中使用重载的运算符相当于调用运算符重载函数

( 33 )下列关于运算符重载的描述中,错误的是A ) :: 运算符不能重载B )类型转换运算符只能作为成员函数重载C )将运算符作为非成员函数重载时必须定义为友元D )重载 [] 运算符应完成 “ 下标访问 ” 操作

( 24 )下列关于运算符重载的描述中,错误的是A )可以通过运算符重载在 C++ 中创建新的运算符B )赋值运算符只能重载为成员函数C )运算符函数重载为类的成员函数时,第一操作数是该类对象D )重载类型转换运算符时不需要声明返回类型

在重载一个运算符时,其参数表中没有任何参数,这表明该运算符是()。A、作为友元函数重载的1元运算符B、作为成员函数重载的1元运算符C、作为友元函数重载的2元运算符D、作为成员函数重载的2元运算符

下面关于自定义类的运算符重载的说法中,正确的是()。 A.类友元形式重载的运算符,重载函数的参数个数与运算符的实际操作数个数相同B.类友元形式重载的运算符,重载函数中的this指针指向第一个运算数C.类友元形式重载的运算符,重载函数中可以直接访问类中的私有成员D.所有运算符都可以以类友元形式进行重载

下列关于运算符重载的描述中,错误的是( )。A.可以通过运算符重载在C++中创建新的运算符 下列关于运算符重载的描述中,错误的是( )。A.可以通过运算符重载在C++中创建新的运算符B.赋值运算符只能重载为成员函数C.运算符函数重载为类的成员函数时,第一操作参数就是该类对象D.重载类型转换运算符时不需要声明返回类型

重载的流运算符函数经常定义为类的【 】函数。

下列关于运算符重载的叙述中,正确的是A.通过运算符重载,可以定义新的运算符B.有的运算符只能作为成员函数重载C.若重载运算符+,则相应的运算符函数名是+D.重载一个二元运算符时,必须声明两个形参

下列关于运算符重载的叙述中,正确的是A.运算符重载为成员函数时,若参数表中无参数,则重载的是一元运算符B.一元运算符只能作为成员函数重载C.二元运算符重载为非成员函数时,参数表中有一个参数D.C++中可以重载所有的运算符

多数运算符既能作为类的成员函数重载,也能作为类的非成员函数重载,但运算符[]只能作为类的______函数重载。

下面关于成员函数重载运算符和友元函数重载运算符相同的是( )。A.成员函数和友元函数可重载的运算符是不相同的B.成员函数和友元函数重载运算符时都需要用到this指针C.成员函数和友元函数重载运算符时都需要声明为公有的D.成员函数和友元函数重载运算符时的参数可能是相同的

运算符“+”允许重载为类成员函数,或者非成员函数。若用operator+(c1,c2)这样的表达式来使用运算符“+”,应将“+”重载为【 】 函数。

下面关于运算符重载的描述中,正确的是( )。A.一元运算符只能作为成员函数来重载B.运算符重载作为成员函数时,如果参数表中无参数,重载的是一元运算符C.二元运算符重载为非成员函数时,参数表中有一个参数D.C++中可以重载所有的运算符

在重载运算符函数时,下面运算符必须重载为类的成员函数的是( )。A.+B.-C.++D.->

下列关于运算符函数的描述中,错误的是( )。A.运算符函数的名称总是以0perator为前缀B.运算符函数的参数可以是对象C.运算符函数只能定义为类的成员函数D.在表达式中使用重载的运算符相当于调用运算符重载函数

在重载运算符函数时,下面( )。运算符必须重载为类成员函数形式。A.+B.-C.++D.->

下列说法正确的是 ______。A.一元运算符重载为成员函数没有参数B.一元运算符重载为友员函数没有参数C.二元运算符重载为友员函数有一个参数D.二元运算符重载为成员函数有二个参数

对每个可重载的运算符来说,只能重载为友元函数。

多数运算符可以重载,个别运算符不能,运算符重载是通过函数定义实现的。

运算符重载是通过函数来实现的,定义运算符重载函数时,函数名中要使用关键字operator。

单选题下列关于运算符重载的描述中,错误的是(  )。A可以通过运算符重载在C++中创建新的运算符B赋值运算符只能重载为成员函数C运算符函数重载为类的成员函数时,第一操作数是该类对象D重载类型转换运算符时不需要声明返回类型

单选题在重载一个运算符时,其参数表中没有任何参数,这表明该运算符是()。A作为友元函数重载的1元运算符B作为成员函数重载的1元运算符C作为友元函数重载的2元运算符D作为成员函数重载的2元运算符

单选题下列关于运算符重载的描述中,错误的是(  )。A::运算符不能重载B类型转换运算符只能作为成员函数重载C将运算符作为非成员函数重载时必须定义为友元D重载[]运算符应完成“下标访问”操作

单选题下列关于赋值运算符“=”重载的叙述中,正确的是(  )。A赋值运算符只能作为类的成员函数重载B默认的赋值运算符实现了“深层复制”功能C重载的赋值运算符函数有两个本类对象作为形参D如果已经定义了复制(拷贝)构造函数,就不能重载赋值运算符