面向对象程序设计形成性考核册作业四汇总

上传人:206****923 文档编号:90590369 上传时间:2019-06-13 格式:DOC 页数:12 大小:80.51KB
返回 下载 相关 举报
面向对象程序设计形成性考核册作业四汇总_第1页
第1页 / 共12页
面向对象程序设计形成性考核册作业四汇总_第2页
第2页 / 共12页
面向对象程序设计形成性考核册作业四汇总_第3页
第3页 / 共12页
面向对象程序设计形成性考核册作业四汇总_第4页
第4页 / 共12页
面向对象程序设计形成性考核册作业四汇总_第5页
第5页 / 共12页
点击查看更多>>
资源描述

《面向对象程序设计形成性考核册作业四汇总》由会员分享,可在线阅读,更多相关《面向对象程序设计形成性考核册作业四汇总(12页珍藏版)》请在金锄头文库上搜索。

1、面向对象程序设计形成性考核册作业四一、填空题:1. 设px是指向一个类对象的指针变量,则执行 “delete px;”语句时,将自动调用该类的( C )。 A. 无参构造函数 B. 带参构造函数 C. 析构函数 D. 拷贝构造函数 2. 假定AB为一个类,则执行 “AB a10;”语句时调用该类无参构造函数的次数为( D )。 A. 0 B. 1 C. 9 D. 10 3. 假定AB为一个类,则执行 “AB a(2), b3, *p4;”语句时共调用该类构造函数的次数为( B )。 A. 3 B. 4 C. 5 D. 9 4. 假定AB为一个类,px为指向该类的一个含有n个对象的动态数组的指针

2、,则执行“delete px;”语句时共调用该类析构函数的次数为( C )。 A. 0 B. 1 C. n D. n+1 5. 对类中引用成员的初始化是通过构造函数中给出的( C )实现的。 A. 函数体 B. 参数表 C. 初始化表 D. 初始化表或函数体 6. 一个类的静态数据成员所表示属性 ( C )。 A. 是类的或对象的属性 B. 只是对象的属性 C. 只是类的属性 D. 类和友元的属性 7. 被非静态成员函数访问的类的数据成员(A )。 A. 可以是非静态数据成员或静态数据成员 B. 不可能是类的静态数据成员 C. 只能是类的非静态数据成员 D. 只能是类的静态数据成员 8. 引入

3、友元的主要目的是为了( C )。 A. 增强数据安全性 B. 提高程序的可靠性 C. 提高程序的效率和灵活性 D. 保证类的封装性 9. 在重载一个运算符时,其参数表中没有任何参数,这表明该运算符是( B )。 A. 作为友元函数重载的1元运算符 B. 作为成员函数重载的1元运算符 C. 作为友元函数重载的2元运算符 D. 作为成员函数重载的2元运算符 10. 如果表达式a+b中的“+”是作为成员函数重载的运算符,若采用运算符函数调用格式,则可表示为( A )。 A. a.operator+(b) B. b.operator+(a) C. operator+(a,b) D. operator(

4、a+b) 11. 如果表达式+a中的“+”是作为成员函数重载的运算符,若采用运算符函数调用格式,则可表示为( D )。 A. a.operator+(1) B. operator+(a) C. operator+(a,1) D. a.operator+() 12. 一个程序中数组a和变量k定义为“int a510,k;”,且程序中包含有语句“a(2,5)=+k*3;”,则此语句中肯定属于重载操作符的是( A )。 A. ( ) B. = C. + D. * 13. 下面是重载双目运算符+的普通函数原形,其中最符合+原来含义的是( A )。 A. Value operator+(Value, V

5、alue); B. Value operator+(Value,int); C. Value &operator+(Value, Value); D. Value &operator+(Value&, Value&); 14. 关于插入运算符next _指向队首结点的后继(即下一个)结点。 3. 在一个用链表实现的队列类中,若链队为空或只含有一个结点,则队首指针的值与队尾指针的值_相同_。 4一个类的_析构_函数通常用于实现释放该类对象中指针成员所指向的动态存储空间的任务。 5定义类动态对象数组时,其元素只能靠自动调用该类的_无参构造函数_来进行初始化。 6. 假定 AB为一个类,则执行“AB

6、 a10;”语句时,系统自动调用该类构造函数的次数为_10_。 7对类中引用成员的初始化只能通过在构造函数中给出的_初始化表_来实现。 8. 假定要把aa定义为AB类中的一个引用整数型数据成员,则定义语句为_ int& aa;_。 9假定用户为类AB定义了一个构造函数“AB(int aa) a=aa;”,则系统_不会_为该类自动定义一个无参构造函数AB() 。 10假定用户为类AB定义了一个构造函数“AB(int aa=0):a(aa)”,则定义该类的对象时,可以有_2_种不同的定义格式。 11假定用户为类AB定义了一个构造函数“AB(int aa=0, int bb=0) a=aa; b=b

7、b;”,则定义该类的对象时,可以有_3_种不同的定义格式。 12假定用户只为类AB定义了一个构造函数“AB():a(0),b(0)”,则定义该类对象x的定义语句“AB x(5);”是_错误_(正确/错误)的。 13. 静态成员函数 只能_访问类的静态数据成员, _不能_ 访问类的非静态数据成员。 14. 重载运算符时,该运算符的_优先级_、结合性以及操作符的个数不允许改变。 15. 作为类的成员函数重载一个运算符时,参数表中只有一个参数,说明该运算符有_2_个操作数。 16. 重载抽取运算符时,其运算符函数的返回值类型应当是_ istream &_。 17. 类型转换函数没有_返回值_类型,而

8、且参数表为_空_。 18. 当保护继承时,基类的_公有和保护_成员在派生类中成为保护成员,派生类对象不能直接访问基类的 任何 _成员。19. 引进虚基类的根本目的是为了消除_二义性_。三、程序填空: 1. 已知一个利用数组实现栈的类定义如下:const int ARRAY_SIZE=10;class Stack public:void Init() top=-1; /初始化栈为空 void Push(int newElem); /向栈中压入一个元素int Pop(); /从栈顶弹出一个元素bool Empty() /判栈空 if(top=-1) return true;else return

9、false;int Depth() return top+1; /返回栈的深度void Print(); /按照后进先出原则依次输出栈中每个元素,直到栈空为止private:int elemARRAY_SIZE; /用于保存堆栈元素的数组int top; /指明栈顶元素位置的指针; 该类的Pop和Print函数的实现分别如下:_(1)_ if(top=-1) cout栈空!endl;exit(1); /中止运行return _(2)_;void Stack:Print() while(!Empty() cout_(3)_ ;(1) int Stack:Pop() (2) elemtop- (3) Pop()2. #include #include class A int *a; int n; int MaxLen; public: A(): a(0), n(0), MaxLen(0) A(int *aa, int nn, int MM) n=nn; MaxLen=MM; if(nMaxLen) exit(1); _(1)_; /由a指向长度为MaxLen的动态数组 for(int i=0; in; i+) ai=aai; A() delete a; int GetValue(int i) _(2)_ /函数体返

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 中学教育 > 其它中学文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号