word完美格式
答案
x+z=0 y+z=0 x+z=40 y+z=50 x+z=40 y+z=50 x=10 y=20 x+z=0 y+z=0 x=0 y=0
3、 阅读下列程序,回答后面提出的问题。 #include
public:
void SetColor(int c){color=c;}
virtual void Move(){cout<<\private:
int color; };
class Car :public Vehicle {
public:
void Move(){cout<<\};
class Bus :public Vehicle {
public:
void Move(){cout<<\};
class SportsCar:public Car { };
class Coupe :public Car {
public:
void Move(){cout<<\};
void main() {
Vehicle *vec; vec=new Car; vec->Move(); delete vec; vec=new Bus;
精心整理 学习帮手
word完美格式
vec->Move(); delete vec;
vec=new SportsCar; vec->Move(); delete vec; vec=new Coupe; vec->Move(); delete vec; }
答案: Carmoving. Bus moving. Carmoving. Coupe moving.
运算符重载
5.1选择题
友元运算符obj>obj2被C++编译器解释为(A )。 A)operator>(obj1,obj2) B)>(obj1,obj2)
C)obj2.operator>(obj1) D)obj1.oprator>(obj2)
下面对C++运算符的正确的描述是(D )。 A)只有类成员运算符 B)只有友元运算符
C)只有非成员和非友元运算符 D)上述三者都有
下列关于C++运算符函数的返回类型的描述中,错误的是(C)。 A)可以是类类型 B)可以是int类型 C)可以是void类型 D)可以是float类型
重载赋值操作符时,应声明为(C)函数。 A)友元 B)虚 C)成员 D)多态
在一个类中可以对一个操作符进行(D)重载。
精心整理 学习帮手
word完美格式
A)1种 B)2种以下 C)3种以下 D)多种
下列关于运算符重载的描述中,正确的是(D)。 A)运算符重载可以改变运算符的操作数的个数 B)运算符重载可以改变优先级 C)运算符重载可以改变结合性 D)运算符重载不可以改变语法结构
下列运算符中, (C)运算符在C++中不能重载。 A)= B)() C):: D)delete
下列运算符中, (A)运算符在C++中不能重载。 A〕?: B)[] C)new D)&&
在重载运算符函数时,下面(D)运算符必须重载为类成员函数形式。 A)+ B)- C)++ D)->
下列运算符不能用友元函数重载的是(B )。 A)+ B)= C)* D)<<
下面对友元的错误描述是(D )
A) 关键字friend用于声明友元 B) 一个类的成员函数可以是另一个类的友元
C) 友元函数访问对象的成员不受访问特性影响 D) 友元函数通过this指针访问对象成员 .如果类A被说明成类B的友元,则(C ) A)类A的成员即是类B的成员 B)类B的成员即是类A的成员
C)类A的成员函数可以访问类B的所有成员
D)类B的成员函数可以访问类A的所有成员
精心整理 学习帮手
word完美格式
.在C++中不能被重载的一组运算符是:(A)
A):: ?: . sizeof B)?: . sizeof ++ ->
C):: ?: new delete D)++ -- ?: sizeof
5.2填空题
1、要在类的对象上使用运算符,除了运算符__=__和__&__以外,其他的运算符都必须被重载。
2、 在C++中,只能重载为类的成员函数的运算符是___=__、__()__、__[ ]__、_->__。 3、 运算符()与运算符[]必须重载为__类的成员函数___。
4、 利用成员函数对二元运算符重载,其左操作数为__this指针指向的当前对象__,右操作数为__成员函数参数__。 5、 下列程序定义了一实部为mal,虚部为imag的复数类complex,并在类中重载了复数的+、-操作。请将下列程序补充完整。 Class Complex {
public:
Complex(double r=0.0,double I=0.O){__ real=r;imag=I;___} __Complex__operator +(Complex);
__friend Complex____operator -(Complex,Complex); private:
double real,imag; };
___Complex Complex::operator +(Complex c) {
return Complex(__real+c.real,imag+c.imag___); };
___Complex___operator -(Complex c1,Complex c2) {
return Complex(___c1.real-c2.real,c1.imag-c2.imag ____); }
6、 单目运算符作为类成员函数重载时__没有__的参数;双目运算符作为__类成员函数__重载时需声明其右操作数,作为_友元函数__重载时需声明全部操作数。 7、 重载运算符函数的函数名时使用关键字_ operator ___。
8、 重载的运算符仍然保持其原来的优先级、__结合性__和__语法结构__。 9、 为满足运算符+的可交换性,必须将其重载为_友元函数___。
10、 C++中不能重载的运算符有__.__、__* (取内容) __、__::__、__?:__和__size of__。 11、 设a和b是两个整型变量,a+b表示这两个变量的和:设c和d为浮点型变量,c+d也表示这两个变量的和。这里的运算符+具有不同的用途,这是__运算符重载___的例子。
精心整理 学习帮手