2022年面向对象程序设计复习题.docx
《2022年面向对象程序设计复习题.docx》由会员分享,可在线阅读,更多相关《2022年面向对象程序设计复习题.docx(28页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选学习资料 - - - - - - - - - 一、单项挑选题;1 引入内联函数的主要目的是 A缩短程序代码,少占用内存空间 B既可以保证程序的可读性,又能提高程序的运行效率 C提高程序的执行速度 D使程序的结构比较清楚 2 重载函数是 A以函数参数来区分,而不用函数的返回值来区分不同的函数 B以函数的返回值来区分,而不用函数参数来区分不同的函数 C参数表完全相同而返回值类型不同的两个或多个同名函数 D参数表和返回值类型都必需是不同的两个或多个同名函数3 有函数原型 void fun2 int *, 下面选项中,正确的调用是A double x = 2.17; fun2 &x; C int
2、a = 15; fun2 a*3.14;B int b = 100; fun2 & b; D fun2 256;4 在 C+中, 要实现动态联编 , 必需使用 调用虚函数;D 基类指A 类名B 派生类指针 C 对象名针 5 在公有派生情形下,有关派生类对象和基类对象的关系,以下表达不正确的 是 A派生类的对象可以直接拜访基类中的全部成员 B派生类的对象可以初始化基类的引用 C派生类的对象可以赋给基类的对象 D 派生类的对象的地址可以赋给指向基类的指针 6 设置虚基类的目的是 A排除两义性 B 简化程序 C提高运行效率 D 削减目标代码 7 关于构造函数,以下说法错误选项 A 构造函数的作用是在
3、对象被创建时使用特定的值构造对象,或者说 将对象初始化为一个特定的状态;在对象创建时由系统自动调用;B 基类的构造函数可以被派生类所继承;C 假如程序中未声明,就系统自动产生出一个缺省形式的构造函数;D 答应为内联函数、重载函数、带缺省形参值的函数;8 以下关于 C+函数的说明中,正确选项 A内联函数就是定义在另一个函数体内部的函数 B函数体的最终一条语句必需是 return 语句 C标准 C+要求在调用一个函数之前,必需先声明其原型 D编译器会依据函数的返回值类型和参数表来区分函数的不同重载形1 / 14 名师归纳总结 - - - - - - -第 1 页,共 14 页精选学习资料 - -
4、- - - - - - - 式9 由于常对象不能被更新,因此 A通过常对象只能调用它的常成员函数 B通过常对象只能调用静态成员函数 C常对象的成员都是常成员 D通过常对象可以调用任何不转变对象值的成员函数 10 以下关于虚函数的说明中,正确选项A从虚基类继承的函数都是虚函数 C只能通过指针或引用调用虚函数 B虚函数不得是静态成员函数 D抽象类中的成员函数都是虚函数11 运算符重载是对已有的运算符给予多重含义,因此 A可以对基本类型 如 int 类型的数据,重新定义 “ +”运算符的含义 B可以转变一个已有运算符的优先级和操作数个数 C只能重载 C+中已经有的运算符,不能定义新运算符 DC+中已
5、经有的全部运算符都可以重载 12 模板对类型的参数化供应了很好的支持,因此 A类模板的主要作用是生成抽象类 B类模板实例化时,编译器将依据给出的模板实参生成一个类 C在类模板中的数据成员都具有同样类型 D类模板中的成员函数都没有返回值 13 以下符号中可以用作 C+标识符的是 A_radius Bfoobar Celse D3room 14 以下语句中,错误选项 Aconst int buffer=256; Bconst int temp;Cconst double *point; Dconst double *rt =new double5.5;15 有如下程序:int x=3;do x -
6、= 2;coutx;while.-x ;执行这个程序的输出结果是A 1 B 3 0 C l-2 D 死循环 16 有如下程序:#include using namespace std;int main int *p ;*p = 9;2 / 14 名师归纳总结 - - - - - - -第 2 页,共 14 页精选学习资料 - - - - - - - - - coutThe value at p:*p;return 0; 编译运行程序将显现的情形是A够编译时显现语法错误,不能生成可执行文件 B运行时肯定输出: The value at p: 9 C运行时肯定输出: The value at p:
7、 *9 D运行时有可能出错 17 有如下程序:#include using namespace std;int main void functiondouble val ;double val;functionval;coutval;return 0; void functiondouble val val = 3; 编译运行这个程序将显现的情形是A编译出错,无法运行 B输出: 3 C输出: 3.0 D输出一个不确定的数 18 有如下类定义:class AA int a;public: int getRef constreturn &a; / int getValue constreturn
8、a; / void setint n consta=n; / friend void showAA aa const coutaa; / ;其中的四个函数定义中正确选项A B CD 19有如下程序:3 / 14 名师归纳总结 - - - - - - -第 3 页,共 14 页精选学习资料 - - - - - - - - - #include using namespace std;class Base public: void funcoutBase:funendl ; ;class Derived:public Base public: void fun coutDerived:funfun
9、 Dfun;20 下面是重载为非成员函数的运算符函数原型,其中错误选项 AFraction operator + Fraction, Fraction;BFraction operator - Fraction;CFraction& operator = Fraction&, Fraction;DFraction& operator += Fraction&, Fraction;21 有如下类定义:class Foo public: Fooint v:valuev / Foo / 4 / 14 名师归纳总结 - - - - - - -第 4 页,共 14 页精选学习资料 - - - - - -
10、 - - - private: Foo / int value = 0; / ;其中存在语法错误的行是A B C D 22 有如下类定义:class Point int x_, y_;public: Point:x_0, y_0 Pointint x, int y = 0:x_x,y_y ;如执行语句 Point a2, b3, *c4 ;就 Point 类的构造函数被调用的次数是 A2 次 B3 次 C4 次 D5 次 23 有如下程序:#include using namespace std;class A public: AcoutA ; AcoutA ; ;class B:public
11、 A A* p ;public: BcoutB ; p = new A; BcoutB ; delete p; ;int main B obj;return 0; 5 / 14 名师归纳总结 - - - - - - -第 5 页,共 14 页精选学习资料 - - - - - - - - - 执行这个程序的输出结果是ABAAABABABABAA CBAABAA DABAABA 24 有如下程序:#include using namespace std;class Base private: void funl constcoutfunl ; protected: void fun2 constc
12、outfun2 ; public: void fun3 constcoutfun3 ; ;class Derived:protected Base public: void fun4 constcoutfun4 ; ;int main Derived obj;obj.funl ; / obj.fun2; / obj.fun3; / obj.fun4; / return 0; 其中有语法错误的语句是A B C D 25 有如下程序:#include using namespace std;class Base public: void funlcoutBase endl ; 6 / 14 名师归
13、纳总结 - - - - - - -第 6 页,共 14 页精选学习资料 - - - - - - - - - virtual void fun2coutBaseendl ; ;class Derived:public Base public: void funlcoutDerivedendl ; void fun2coutDerivedendl ; ;void fBase &bb.funl ;b.fun2; int main Derived obj;fobj;return 0; 执行这个程序的输出结果是ABase BBase CDerived DDerived Base Derived Base
14、 Derived 26 有如下类声明:class SAMPLE int n;public: SAMPLE int i = 0: ni void setValueint n0; ;以下关于 setValue成员函数的实现中,正确选项 ASAMPLE:setValueint n0n = n0 ; Bvoid SAMPLE:setValueint n0n = n0 ; Cvoid setValueint n0n = n0; DsetValueint n0n = n0; );27以下函数模板的定义中,合法的是(Atemplate T absT xreturn x0.-x:x; Btemplate cl
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022 面向 对象 程序设计 复习题
限制150内