运算符重载基础概念练习题1、下列关于运算符重载的描述中,正确的是()。A运算符重载可以改变运算符的操作数的个数B运算符重载可以改变优先级和结合性C运算符重载可以改变该运算符用于基本类型变量时的含义D以上说法都不对2、下列关于C++运算符函数的返回类型的描述中,错误的是()。A可以是类类型B可以是int类型C可以是void类型D可以是float类型3、在重载一个运算符时,其参数表中没有任何参数,这表明该运算符是()。A.作为友元函数重载的1元运算符B.作为成员函数重载的1元运算符C.作为友元函数重载的2元运算符D.作为成员函数重载的2元运算符4、下列运算符中,()运算符在C++中不能重载。A?:与=B-与::Cnew与eleteD&与()5、下列运算符不能用友元函数重载的是()。A+B=C++D6、为一个类T重载操作符”-”,可以用进行()重载。A成员函数B友元函数C普通函数D三种形式都可以7、友元运算符objobj2被C++编译器解释为()。Aoperator(obj1,obj2)B(obj1,obj2)Cobj2.operator(obj1)Dobj1.oprator(obj2)8、在表达式x+y*z中,+是作为成员函数重载的运算符,*是作为非成员函数重载的运算符。下列叙述中正确的是()。Aoperator+有两个参数,operator*有两个参数Boperator+有两个参数,operator*有一个参数Coperator+有一个参数,operator*有两个参数Doperator+有一个参数,operator*有一个参数9、如果表达式a+b中的+是作为成员函数重载的运算符,若采用运算符函数调用格式,则可表示为()。Aa.operator+(b)Bb.operator+(a)Coperator+(a,b)Doperator(a+b)10、关于运算符重载,下列说法正确的是()。A所有的运算符都可以重载。B通过重载,可以使运算符应用于自定义的数据类型。C通过重载,可以创造原来没有的运算符。D通过重载,可以改变原运算符的语法结构。11、如果表达式a++中的++是作为普通函数重载的运算符,若采用运算符函数调用格式,则可表示为()。Aa.operator++()B.operator++(a)C.operator++(a,1)D.operator++(1,a)12、如果表达式++a中的++是作为成员函数重载的运算符,若采用运算符函数调用格式,则可表示为()。Aa.operator++(1)Boperator++(a)Coperator++(a,1)Da.operator++()13、如果表达式a==b中的==是作为T类重载的运算符,若采用运算符函数调用格式,则可表示为()。A.a.operator==(b)B.b.operator==(a)C.operator==(a,b)D.operator==(b,a)14、一个程序中数组类Array对象a和整形变量k定义为Arraya(2,4);intk;,且程序中包含有语句a(1,2)=++k*3;,则此语句中肯定属于重载操作符的是()。A.()B.=C.++D.*15、假定M是一个类名,且M中重载了操作符=,可以实现M对象间的连续赋值,如m1=m2=m3;(m1=m2)=m3;重载操作符=的函数声明应为()。A.intoperaotor=(M);BintM::operator=();CMM::operator=();DM&M::operator=(M);16、关于流插入运算符的重载,下列说法不正确的是()。A.运算符函数的返回值类型是ostream。B.重载的运算符必须定义为类的成员函数。C.运算符函数的第一个参数的类型是ostream。D.运算符函数有两个参数。17、为类重载T流提取运算符,下列声明正确的是()。A.ostream&operator(ostream&,T&);B.istream&operator(istream&,T&);C.istream&operator(istream&,T);D.istreamoperator(istream&,T&);18、对于涉及动态内存分配的类T,哪些运算符可以不必重载()。A.()B.=C.&D.*