如果类的作者没有实现赋值运算符(=)重载,则编译器会自动为这个类提供一个赋值操作符, 在什么情况下需要程序员自定义赋值操作符,解释原因?
如果类的作者没有实现赋值运算符(=)重载,则编译器会自动为这个类提供一个赋值操作符, 在什么情况下需要程序员自定义赋值操作符,解释原因?
参考答案和解析
正确
相关考题:
( 24 )下列关于运算符重载的描述中,错误的是A )可以通过运算符重载在 C++ 中创建新的运算符B )赋值运算符只能重载为成员函数C )运算符函数重载为类的成员函数时,第一操作数是该类对象D )重载类型转换运算符时不需要声明返回类型
如果myclass类定义了拷贝构造函数和一个整型参数的构造函数,还重载了赋值运算符,那么语句myclassobj=100;会( )A、调用拷贝构造函数B、调用整型参数的构造函数C、调用赋值运算符D、引起编译错误
假定M是一个类名,且M中重载了操作符=,可以实现M对象间的连续赋值,如“m1=m2=m3”。重载操作符=的函数原型最好是( )。 A.intoperaotor=(M)B.intoperator=(M&)C.Moperator=(M&)D.M&operator=(M)
算术运算符,赋值运算符和关系运算符的运算优先级按从高到低依次为() A.算术运算、赋值运算、关系运算B.算术运算、关系运算、赋值运算C.关系运算、赋值运算、算术运算D.关系运算、算术运算、赋值运算
C 语言中以下几种运算符的优先次序()的排列是正确的.A、由高到低为:!,,∣∣,算术运算符,赋值运算符B、由高到低为:!,算术运算符,关系运算符,,∣∣,赋值运算符C、由高到低为:算术运算符,关系运算符,赋值运算符,!,,∣∣D、由高到低为:算术运算符,关系运算符,!,,∣∣,赋值运算符
算术运算符、赋值运算符和关系运算符的运算优先级按从高到低依次为()。A、算术运算、赋值运算、关系运算B、算术运算、关系运算、赋值运算C、关系运算、赋值运算、算术运算D、关系运算、算术运算、赋值运算
单选题下列关于运算符重载的描述中,错误的是( )。A可以通过运算符重载在C++中创建新的运算符B赋值运算符只能重载为成员函数C运算符函数重载为类的成员函数时,第一操作数是该类对象D重载类型转换运算符时不需要声明返回类型
单选题下列关于赋值运算符“=”重载的叙述中,正确的是( )。A赋值运算符只能作为类的成员函数重载B默认的赋值运算符实现了“深层复制”功能C重载的赋值运算符函数有两个本类对象作为形参D如果已经定义了复制(拷贝)构造函数,就不能重载赋值运算符
单选题算术运算符,赋值运算符和关系运算符的运算优先级按从高到低依次为()A算术运算、赋值运算、关系运算B算术运算、关系运算、赋值运算C关系运算、赋值运算、算术运算D关系运算、算术运算、赋值运算
单选题JavaScript中的赋值操作符不包含()A++B+=C-=D=