欢迎来到天天文库
浏览记录
ID:17880302
大小:51.00 KB
页数:7页
时间:2018-09-08
《《面向对象程序设计c 》期末考试试卷》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、《面向对象程序设计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)通过运算符重
2、载,可以定义新的运算符B)有的运算符只能作为成员函数重载C)若重载运算符+,则相应的运算符函数名是+D)重载二元运算符时,必须声明两个形参05、对于语句cout<3、yDERIVED:protectedMyBASE{protected:intj;public:voidset(intm,intn){MyBASE::set(m);j=n;}7intget()const{returnMyBASE::get()+j;}}; A)4B)3C)2D)107、已知在一个类体中包含如下函数原型:Volumeoperator-(Volume)const;,下列关于这个函数的叙述中,错误的是()。A)这是运算符-的重载运算符函数 B)这个函数所重载的运算符是一个一元运算符C)这是一个成员函数 D)这个函数不改变类的任何数据成员的值08、执4、行如下的程序段后,输出结果是()。cout.fill('*');cout.width(6);cout.fill('#');cout<<123<5、C)析构函数D)虚函数12、要实现动态联编,必须通过()调用虚函数。A)对象指针B)成员名限定C)对象名D)派生类名13、以下()成员函数表示纯虚函数。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);};在构造函数XB的下列定义中,正确的是()6、。7A)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*有参数。()A)2、2B)2、1C)1、2D)1、116、应在下列程序划线处填入的正确语句是()。classBase {public:voidfun(){cout<7、<"Base::fun"<fun();二、填空题(每空2分,共20分。)17、面向对象程序设计有四个主要特点,即抽象、封装、_继承___和__多态性__。18、非成员函数应声明为类的_友元___函数才能访问这个类的private成员。19、派生类中的成员不能直接访问基类中的_私有___成员。208、、在用class定义一个类时,数据成员和成员函数的默认访问权限是_
3、yDERIVED:protectedMyBASE{protected:intj;public:voidset(intm,intn){MyBASE::set(m);j=n;}7intget()const{returnMyBASE::get()+j;}}; A)4B)3C)2D)107、已知在一个类体中包含如下函数原型:Volumeoperator-(Volume)const;,下列关于这个函数的叙述中,错误的是()。A)这是运算符-的重载运算符函数 B)这个函数所重载的运算符是一个一元运算符C)这是一个成员函数 D)这个函数不改变类的任何数据成员的值08、执
4、行如下的程序段后,输出结果是()。cout.fill('*');cout.width(6);cout.fill('#');cout<<123<5、C)析构函数D)虚函数12、要实现动态联编,必须通过()调用虚函数。A)对象指针B)成员名限定C)对象名D)派生类名13、以下()成员函数表示纯虚函数。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);};在构造函数XB的下列定义中,正确的是()6、。7A)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*有参数。()A)2、2B)2、1C)1、2D)1、116、应在下列程序划线处填入的正确语句是()。classBase {public:voidfun(){cout<7、<"Base::fun"<fun();二、填空题(每空2分,共20分。)17、面向对象程序设计有四个主要特点,即抽象、封装、_继承___和__多态性__。18、非成员函数应声明为类的_友元___函数才能访问这个类的private成员。19、派生类中的成员不能直接访问基类中的_私有___成员。208、、在用class定义一个类时,数据成员和成员函数的默认访问权限是_
5、C)析构函数D)虚函数12、要实现动态联编,必须通过()调用虚函数。A)对象指针B)成员名限定C)对象名D)派生类名13、以下()成员函数表示纯虚函数。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);};在构造函数XB的下列定义中,正确的是()
6、。7A)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*有参数。()A)2、2B)2、1C)1、2D)1、116、应在下列程序划线处填入的正确语句是()。classBase {public:voidfun(){cout<
7、<"Base::fun"<fun();二、填空题(每空2分,共20分。)17、面向对象程序设计有四个主要特点,即抽象、封装、_继承___和__多态性__。18、非成员函数应声明为类的_友元___函数才能访问这个类的private成员。19、派生类中的成员不能直接访问基类中的_私有___成员。20
8、、在用class定义一个类时,数据成员和成员函数的默认访问权限是_
此文档下载收益归作者所有