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

单选题
下列关于赋值运算符“=”重载的叙述中,正确的是(  )。
A

赋值运算符只能作为类的成员函数重载

B

默认的赋值运算符实现了“深层复制”功能

C

重载的赋值运算符函数有两个本类对象作为形参

D

如果已经定义了复制(拷贝)构造函数,就不能重载赋值运算符


参考解析

解析:
A项正确,赋值运算符“=”只能作为成员函数重载;B项错误,默认的运算符只实现了“浅层赋值”,若要实现“深层复制”,必须重载赋值运算符;C项错误,默认的赋值操作就是同类对象之间对应成员的逐一赋值,而常见的真正需要重载赋值运算符的情况是:类中包含指向动态空问的指针;D项错误,一个类如果需要重载运算符=,通常也就需要定义自己特有的复制构造函数,反之亦然。

相关考题:

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

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

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

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

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

如果myclass类定义了拷贝构造函数和一个整型参数的构造函数,还重载了赋值运算符,那么语句myclassobj=100;会( )A、调用拷贝构造函数B、调用整型参数的构造函数C、调用赋值运算符D、引起编译错误

一个类如果没有定义任何函数,编译器不会自动为这个类产生()A、拷贝构造函数B、无参构造函数C、输出流运算符D、赋值运算符

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

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

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

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

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

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

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

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

为类Matrix重载下列运算符号时,只能作为Matrix类成员函数重载的运算符是( )。A.+B.=C.D.++

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

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

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

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

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

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

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

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

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

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

单选题在类中重载赋值运算符时,应将其声明为类的(  )。A静态函数B友元函数C成员函数D构造函数