……………………………… 装 ……………………………… 订 ………………………………… 线 ……………………………… 课程________________________班级________________________姓名__________________________学号________________________ ……………………………… 密 ……………………………… 封 …………………………………指向类成员函数的指针 线 ………………………………
《面向对象编程技术》试卷(A) 一、单项选择题(130=30分) 1.结构化的程序设计方法描述不正确的是() A 设计思路是自顶向下、逐步求精 B 程序结构:按功能划分为若干个基本模块,形成一个树状结构 C 能够有效地将一个较复杂的程序系统设计任务分解成许多易于控制和处理的子任务,便于开发和维护 D 可重用性好 2.在函数定义前加上关键字inline",表示该函数被定义为_________。 A 重载函数 B 内联函数 C 成员函数 D 普通函数 3.下列标示符,( )是合法的 A -page; B _lock; C 3in1; D @mail。 4.设void f1(int &x,char * p);int m;char s[ ]="c++";以下调用合法的是( )。 A f1(&m,&s) B f1(&m,s) C f1(m,s) D f1(m,&s) 5. 数组定义为" int a[2][3] = {{1,2,3},{4,5,6}};", 则表达式*(a[1]+2)值为( )。 A、3 B、4 C、5 D、6 6、 假定Person为一个类,则执行Person p1, p2(“tom”),*p3;语句时,自动调用该类构造函数_________次。 A 2 B 3 C 4 D 5 7. 对类的构造函数和析构函数描述正确的是_________。 A 构造函数可以重载,析构函数不能重载 B 构造函数不能重载,析构函数可以重载 C 构造函数可以重载,析构函数也可以重载 D 构造函数不能重载,析构函数也不能重载 8.关于抽象描述不正确的是_________。 A 数据抽象描述某类对象的属性或状态。 B 代码抽象描述某类对象的共有的行为特征或具有的功能。 C 抽象说明OOP方法更注重问题的实现过程而不注重问题的本质描述。 D 抽象最终通过类的声明来实现 9.不能实现函数之间数据传递的是_________。 A 全局变量 B 局部变量 C 静态变量 D 函数返回值 10. 假定Cat 为一个类,则该类的拷贝初始化构造函数的声明语句为_________。 A Cat &(Cat x); B Cat (Cat &x) C Cat (Cat x); D Cat (Cat *x) 11. 为了使类中的某个成员不能被类的对象通过成员操作符访问, 则不能把该成员的访问权限定义为_________。 A public B protected C private D static 12. 类的析构函数的作用是_________。 A 一般成员函数 B 类的初始化 C 对象的初始化 D 对象被删除时的清理工作 13.对于常数据成员,下面描述正确的是_________。 A 常数据成员可以不初始化,并且不能更新 B 常数据成员必须被初始化,并且不能更新 C 常数据成员可以不初始化,并且可以被更新 D 常数据成员必须被初始化,并且可以被更新 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
……………………………… 装 ……………………………… 订 ………………………………… 线 ……………………………… 课程________________________班级________________________姓名__________________________学号________________________ ……………………………… 密……………………………… 封 ………………………………… 线 ……………………………… 14. 对于下面定义的类Point,在函数f()中将对象成员x,y的值修改为5,6的语句应该是_________。 Class Point { public: Point(int x1=0, int y1=0) {x = x1; y = y1} void SetPosition (int x1, int y1) {x = x1; y = y1} private: int x; int y ; } voidf() { Point *ptr = new Point(4,5); __________________ } A Point(5,6) B ptr-> Point (5,6) C ptr-> SetPosition (5,6) D ABC都可以。 15.对下列语句正确的描述是_________。 Const int *x;___//① int *const x;___//② A 语句①的含义是指针变量x不能更改 B 语句②的含义是指针变量x所指向的值不能更改 C 语句②的含义是指针变量x不能更改 D 语句①和②是相同含义的不同定义方式 16.对于常成员函数,下面描述正确的是_________。 A 类的成员函数可以操作常对象 B 类的成员函数不能操作常对象 C 只有常成员函数可以操作常对象 D 在常成员函数中,常对象可以被更新 17.关于new运算符的错误的描述是_________。 A)使用运算符new创建对象数组时必须定义初始值 B)使用运算符new创建对象时,会调用类的构造函数 C)运算符new可以用来动态创建对象和对象数组 D)使用new运算符创建的对象可以使用运算符delete删除 18.下面_________的叙述不符合赋值兼容规则。 A)派生类的对象可以赋值给基类的对象 B)基类的对象可以赋值给派生类的对象 C)派生类的对象可以初始化基类的引用 D)派生类的对象的地址可以赋值给指向基类的指针 19.一个类的友元函数或友元类能够通过成员操作符访问该类的_________。 A)私有成员 B)保护成员 C)公用成员 D)所有成员 20.下列关于友元的描述中,错误的是_________ A.友元函数可以访问该类的私有数据成员 B.一个类的友元类的成员函数都是这个类的友元函数 C.友元可以提高程序的运行效率 D.类与类之间的友元关系可以继承 21.下面对静态数据成员的描述中,正确的是_________。 A)静态数据成员可以在类体内进行初始化 B)静态数据成员不可以被类的对象调用 C)静态数据成员不能受private控制符的作用 D)静态数据成员可以直接用类名调用 22.使用指针动态申请数组 float[10][25][9]语句应是 A. float (*fp)[10][25]=new float[25][9]; B. float *fp=new float[10][25][9]; C. float (*fp)[25][9]=new float[10][25][9]; D. float *fp=new float[25][9]; | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论