C 语言面向对象试题,《面向对象程序设计C 》期末考试试卷

A)“cout”是一个输出流对象 B)“endl”的作用是输出回车换行 C)“x”是一个变量 D)“<

06、有如下类声明,则类MyDERIVED中保护的数据成员和成员函数的个数是( )。 class MyBASE

{ private: int k;

public: void set(int n){ k=n;}

int get( )const{ return k;} }; class MyDERIVED: protected MyBASE { protected: int j;

public: void set(int m, int n){ MyBASE::set(m); j=n;}

-------------各类专业好文档,值得你下载,教育,管理,论文,制度,方案手册,应有尽有--------------

-------------各类专业好文档,值得你下载,教育,管理,论文,制度,方案手册,应有尽有--------------

int get( ) const { return MyBASE::get( )+j; } }; A)4 B)3 C)2 D)1

07、已知在一个类体中包含如下函数原型: Volume operator-(Volume)const;,下列关于这个函数的叙述中,错误的是( )。

A)这是运算符-的重载运算符函数 B)这个函数所重载的运算符是一个一元运算符

C)这是一个成员函数 D)这个函数不改变类的任何数据成员的值 08、执行如下的程序段后,输出结果是( )。

cout.fill('*'); cout.width(6); cout.fill('#'); cout << 123 << endl; A)###123 B)123### C)***123 D)123***

09、在下列函数原型中,可以作为类AA构造函数的是( )。 A)void AA(int); B)int AA(); C)AA(int)const; D)AA(int); 10、下面四个选项中,( )是用来声明虚函数的。 A)virtual B)public C)include D)using namespace 11、实现运行时的多态性要使用( )。

A)重载函数 B)构造函数 C)析构函数 D)虚函数 12、要实现动态联编,必须通过( )调用虚函数。

A)对象指针 B)成员名限定 C)对象名 D)派生类名 13、以下( )成员函数表示纯虚函数。

A)virtual int vf(int); B)void vf(int)=0; C)virtual void vf()=0; D)virtual void vf(int){} 14、有如下类声明:class XA

{ private: int x;

public: XA(int n){ x=n;} }; class XB: public XA { private: int y;

public: XB(int a,int b); }; 在构造函数XB的下列定义中,正确的是( )。

-------------各类专业好文档,值得你下载,教育,管理,论文,制度,方案手册,应有尽有--------------

-------------各类专业好文档,值得你下载,教育,管理,论文,制度,方案手册,应有尽有--------------

A)XB::XB(int a,int b): x(a),y(b){ } B)XB::XB(int a,int b): XA(a),y(b){ } C)XB::XB(int a,int b): x(a),XB(b){ } D)XB::XB(int a,int b): XA(a),XB(b){ } 15、在表达式 x+y*z中, + 是作为成员函数重载的运算符,* 是作为非成员函数重载的运算符。则 operator+ 有 个参数,operator* 有 参数。( ) A)2、2 B)2、1 C)1、2 D)1、1 16、应在下列程序划线处填入的正确语句是( )。 class Base { public:

void fun(){cout<

{ //显示调用基类的函数fun()

cout<

A)fun(); B)Base.fun(); C)Base::fun(); D) Base->fun();

二、填空题(每空2分,共20分。)

17、面向对象程序设计有四个主要特点,即抽象、封装、_继承___和__多态性__。 18、非成员函数应声明为类的_友元___函数才能访问这个类的private成员。 19、派生类中的成员不能直接访问基类中的_私有___成员。

20、在用class定义一个类时,数据成员和成员函数的默认访问权限是__private__。 21、运算符重载函数可能是类的_成员___函数,也可以是类的_友元___函数,还可以是普通函数。

22、用流对象的成员函数控制输出格式时,用于设置字段宽度的流成员函数的名称是width____,与之作用相同的控制符名称是_setw___。 23、含有纯虚函数的类称为_抽象类___。

三、程序的填空、程序的执行(每题4分,共20分。)

24、以下程序是定义一个计数器类25、下列程序的输出结果为2,请将程序补-------------各类专业好文档,值得你下载,教育,管理,论文,制度,方案手册,应有尽有--------------

-------------各类专业好文档,值得你下载,教育,管理,论文,制度,方案手册,应有尽有--------------

counter,对其重载运算符“+”,请填充完整。 空。 class counter { private: int n; public: counter() {n=0;} counter(int i){n=i;} class Base { public: virtual void fun() { cout<<1; } }; class Derived: public Base counter operator + (counter c) { public: //运算符重载函数 void fun( ) { cout<<2; } { counter t; t.n=n+c.n; return }; t; } void {cout

-------------各类专业好文档,值得你下载,教育,管理,论文,制度,方案手册,应有尽有--------------

return 0; }23,23 27、写出执行下面程序的输出结果。 class Der:public Base { private: char c; class A { public: A() { cout<

29、编写一个程序计算“三角形、正方形、圆形”三种图形的面积,要求: a)抽象出一个基类base;b)在其中说明一个虚函数用来求面积;c)利用派生类定义“三角形、正方形、圆形”;d)编写主函数并测试。 解:程序如下:

#include using namespace std; class base { public:

virtual float area() const };

class triangle: public base { protected:

float bian,height;

-------------各类专业好文档,值得你下载,教育,管理,论文,制度,方案手册,应有尽有--------------

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值