如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
《面向对象程序设计C++》期末考试试卷一、选择题(每小题3分,共48分。)01、下列关于C++函数的叙述中,正确的是(c)。A)每个函数至少要具有一个参数B)每个函数都必须返回一个值C)函数在被调用之前必须先声明D)函数不能自己调用自己02、下列关于类和对象的叙述中,错误的是(A)。A)一个类只能有一个对象B)对象是类的具体实例C)类是对某一类对象的抽象D)类和对象的关系是一种数据类型与变量的关系03、在C++中,用于实现运行时多态性的是(D)。A)内联函数B)重载函数C)模板函数D)虚函数04、下列关于运算符重载的叙述中,正确的是(B)。A)通过运算符重载,可以定义新的运算符B)有的运算符只能作为成员函数重载C)若重载运算符+,则相应的运算符函数名是+D)重载二元运算符时,必须声明两个形参05、对于语句cout<<x<<endl;错误的是描述是(D)。A)“cout”是一个输出流对象B)“endl”的作用是输出1回车换行C)“x”是一个变量D)“<<”称作提取运算符06、有如下类声明,则类MyDERIVED中保护的数据成员和成员函数的个数是(B)。classMyBASE{private:intk;public:voidset(intn){k=n;}intget()const{returnk;}};classMyDERIVED:protectedMyBASE{protected:intj;public:voidset(intm,intn){MyBASE::set(m);j=n;}intget()const{returnMyBASE::get()+j;}};A)4B)3C)2D)107、已知在一个类体中包含如下函数原型:Volumeoperator-(Volume)const;,下列关于这个函数的叙述中,错误的是(B)。A)这是运算符-的重载运算符函数B)这个函数所重载的运算符是一个一元运算符C)这是一个成员函数D)这个函数不改变类的任何数据成员的值08、执行如下的程序段后,输出结果是(A)。2cout.fill('*');cout.width(6);cout.fill('#');cout<<123<<endl;A)###123B)123###C)***123D)123***09、在下列函数原型中,可以作为类AA构造函数的是(D)。A)voidAA(int);B)intAA();C)AA(int)const;D)AA(int);10、下面四个选项中,(A)是用来声明虚函数的。A)virtualB)publicC)includeD)usingnamespace11、实现运行时的多态性要使用(D)。A)重载函数B)构造函数C)析构函数D)虚函数12、要实现动态联编,必须通过(A)调用虚函数。A)对象指针B)成员名限定C)对象名D)派生类名13、以下(C)成员函数表示纯虚函数。A)virtualintvf(int);B)voidvf(int)=0;C)virtualvoidvf()=0;D)virtualvoidvf(int){}14、有如下类声明:classXA{private:intx;public:XA(intn){x=n;}};classXB:publicXA{private:inty;public:XB(inta,intb);};3在构造函数XB的下列定义中,正确的是(B)。A)XB::XB(inta,intb):x(a),y(b){}B)XB::XB(inta,intb):XA(a),y(b){}C)XB::XB(inta,intb):x(a),XB(b){}D)XB::XB(inta,intb):XA(a),XB(b){}15、在表达式x+y*z中,+是作为成员函数重载的运算符,*是作为非成员函数重载的运算符。则operator+有个参数,operator*有参数。(C)A)2、2B)2、1C)1、2D)1、116、应在下列程序划线处填入的正确语句是(C)。classBase{public:voidfun(){cout<<"Base::fun"<<endl;}};classDerived:publicBase{voidfun(){//显示调用基类的函数fun()cout<<"Derived::fun"<<endl;}};A)fun();B)Base.fun();C)Base::fun();D)Base->fun();二、填空题(每空2分,共20分。)17、面向对象程序设计有四个主要特点,即抽象、封装、继承、