西北大学《面向对象程序设计》2021-2022学年期末试卷.docxVIP

  • 0
  • 0
  • 约2.64千字
  • 约 7页
  • 2026-01-20 发布于江西
  • 举报

西北大学《面向对象程序设计》2021-2022学年期末试卷.docx

西北大学《面向对象程序设计》2021—2022学年第一学期期末试卷一、选择题(20分)

1、在类中使用static关键字修饰的成员函数称为

A.全局成员函数B.公有成员函数C.静态成员函数D.非静态成员函数

2、用于标识十六进制常量的前缀或后缀是

A.无B.后缀L或lC.前缀零D.前缀Ox

3、在定义结构时,为产生封装性,则需使用哪个关键字数据成员?

A.publicB.publishC.protectedD.private

4、函数模板templatetypenameTvoidFunc(T,T)不能具有哪种

实例化形式?

A.voidFunc(int.int)B.voidFunc(bool,b001)

C.voidFunc(double.int)D.voidFunc(char,char)

5、类的私有成员可在哪里被赋值

A.类体中B.该类的成员函数中

C.A和BD.以上都不是

6、设存在数组a,其长度为Len,则下列哪个泛型算法用于反转a中各元素

A.reverse(a,a+Len);

B.sort(a,a+Len);

C.find(a,a+Len,value); D.copy(a,a+Len,b);7、用于标识八进制常量的前缀或后缀是

A.无 B.后缀L或1

C.前缀零D.前缀Ox

8、派生类中继承的基类成员初始化如何进行

A.由派生类构造函数调用基类的构造函数进行B.由派生类构造函数进行

C.由基类构造函数进行,无需派生类构造函数调用D.以上皆不正确

9、对于多重继承,下列描述正确的是

A.所有基类使用相同的派生方式

B.每个基类可使用不同派生方式

C.只能是public派生 D.只能是protected派生

10、下列关于类的权限描述错误的是

A.类本身的成员函数可以访问自身的任何成员

B.类的对象可以访问该类的所有成员

C.普通函数不能直接访问类的公有成员,必须通过成员函数对其访问D.一个类可以将另一个类的对象作为成员

二、填空题(30分)

1.在C++中,利用向量类模板定义一个具有20个char的向量E,其 元素均被置为字符‘t’,实现此操作的语句是________。

2.在保护派生中,基类权限为Private的成员在派生类中________。

3.类A有如下成员函数

intA::fun(doublex){return(int)x/2;}

intA::fun(intx){returnx*2;}

设a为类A的对象,在主函数中有ints=a.fun(6.0)+a.fun(2),则执行该语句后,s的值为________。

4.对象传送的消息一般由3部分组成:接收对象名、调用操作名和________。

5.将指向对象的指针作为函数参数,形参是对象指针,实参是对象的________。

6.C++类中的_______函数在对象的生存期结束时被自动调用。

7.友元函数可以存取类的_______、公有成员和保护成员。

8.若类的成员函数用关键字static进行修饰,这样的成员函数称为_______。

9.在C++中,创建派生类对象时,总是先从_______的初始化开始的。10.类的继承是指派生类继承基类的数据成员和_______。

三、程序分析题(60分)

1.#includeiostream.h

classtestl{

private:Intx;

public:testl(){x=2;}

voidset(inta){x=a;}

voidget(){coutxendl;}

};

classtest2{

private:intx;

public:test2(){x=3;}

voidset(inta){x=a;}

voidget(){coutxendl;}

};

classtest:publictestl,publictest2.{private:intx;

public:voidset(inta){x=a;}

voidgettest(){coutxendl;}

};

main(){

testa;a.get();

}

2.求两个浮点数之差的cha函数的原型声明、调用方法。

#includeiostream

usingnamespacestd;

voidmain()

{

floata,b;

______;∥函数cha的原型声明

a=12.5;

b

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档