面向对象考试题(参考)

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

面向对象考试题(参考)

1。程序设计中,首先在问题域中识别出若干个()

A。函数B。类C。文件D。过程

2。定义类模板用关键字()

A。const B.new C.delete D.template

3。运算结果类型相同的()

A. 9.0/2.0 9.0/2

B. 9/2.0 9/2

C. 9.0/2 9/2

D. 9/2 9.0/2.0

4。已知f1 f2同一类两个成员函数,但f1不能调用f2,说明()

a.f1 f2都是静态函数

b.f1是静态,f2不是

c.f1不是,f2是静态

d.f1 f2都不是静态函数

5。调用一成员函数时,使用动态联编的情况是()

A.通过对象调用一虚函数B。通过指针或引用调用一虚函数

C。通过对象调用静态函数D。通过指针或引用调用一静态函数6。假定一个类构造函数为:“A(int aa=1,int bb=0){a=aa;b=bb;}则执行"A x(4)"后,x.a和x.b值分别是:()

A。1,0B。1,4C。4,0D。4,1

7。在派生类中能直接访问基类的()

A。公有成员,私有成员B。保护成员,私有成员

C。不可访问成员,私有成员 D。公有成员,保护成员

8。不具访问权限属性的是:

A。非类成员B。类成员C。数据成员D。函数成员

9。类定义中private,protected,public 出现次数为()

A。任意多次B。至多一次C。public 至少一次D。至少一次10。C++鼓励程序员将()

A。数据操作分别封装B。不同类型数据封装

C。数据操作封装在一起D。不同作用操作封装在一起。

二、填空

1。C++中,最好用()代替malloc。

2。函数模板中template之后尖括号的类型参数冠以保留字()。

3。在IOS类中定义的用于格式控制的枚举变量中十、八、十六进制是dec,oct,()。4。如果重载了运算符+,则相应运算函数名是()。

5。由static修饰的数据成员为该类的所有对象()。

6。为了实现多态性,派生类需要重新定义基类中的()。

7。编译时多态性通过()函数实现。

8。派生类中实现基类成员初始化,需由派生类的构造函数调用()来完成。9。C++中访问指令所指对象的成员使用运算符()。

10。重载函数在参数类型或参数个数上不同但()相同。

1。类定义有错,正确结果为5+8i

#include

#include

class complex

{

double real;

double imag;

public:

complex(double r=0.0,double i=0.0):real(r),imag(i){}

void show()

{ cout<=0?'+':'_')<

friend complex & operator +=(complex c1,complex c2); };

complex & operator +=(complex c1,complex c2)

{

c1.real+=c2.real;

c1.imag+=c2.imag;

return c1;

}

void main()

{

complex c(3,5);

c+=complex(2,3);

c.show();

}

2。改一处错

#include

class shape

{

public:

int area()

{return 0;}

};

class rectangle:public shape

{

public:

int a,b;

void setlength(int x,int y)

{ a=x; b=y;}

int area(){return a*b;}

};

{

rectangle r;

r.setlength(3,5);

shape *s=r;

cout <

cout <area()<

}

3。改一处错

class A

{

int a,b;

public:

A(int aa=0,int bb)

{a=aa;b=bb;}

};

4。找一处错

class Location

{

int x,y;

protected:

int SetZero(int zeroX,int zeroY);

public:

void Locattion (int initX,int initY);

int getx();

int gety();

};

四、填空

1。使输出结果为:

5 4 3 2 1

0 5.5 4.4 3.3 2.2 1.1

#include

template

void f( )

{

for (int i=0;i

{t=a[i];a[i]=a[n-1-i];a[n-1-i]=t;}

}

相关文档
最新文档