【面向对象程序设计】形成性考核册作业4答案.doc
《【面向对象程序设计】形成性考核册作业4答案.doc》由会员分享,可在线阅读,更多相关《【面向对象程序设计】形成性考核册作业4答案.doc(11页珍藏版)》请在三一办公上搜索。
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
10、) 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)_ /函数体返回ai的值 ; void main() int b10=1,2,3,4,
11、5,6,7,8,9,10; A r(b,10,10); int i,s=0; for(i=0; i10; i+) _(3)_ ; /把r对象的a数据成员中的每个 /元素值依次累加到s中 couts=sendl; (1) a=new intMaxLen (2) return ai; (3) s+=r.GetValue(i) 3. 在下面一段类定义中, Derived类公有继承了基类Base。需要填充的函数由注释内容给出了功能。class Base private: int mem1,mem2; /基类的数据成员 public: Base(int m1,int m2) mem1=m1; mem2=
12、m2; void output()coutmem1 mem2 ; /.;class Derived: public Base private: int mem3; /派生类本身的数据成员 public: /构造函数,由m1和m2分别初始化mem1和mem2,由m3初始化mem3 Derived(int m1,int m2, int m3); /输出mem1,mem2和mem3数据成员的值 void output() _(1)_; coutmem3endl;/.;Derived:Derived(int m1,int m2, int m3): _(2)_ _(3)_;(1) Base:output
13、() (2) Base(m1,m2) (3) mem3=m3四、写出程序运行结果: 1. #include class Franction /定义分数类 int nume; /定义分子 int deno; /定义分母 public: /把*this化简为最简分数,具体定义在另外文件中实现void FranSimp(); /返回两个分数*this和x之和,具体定义在另外文件中实现Franction FranAdd(const Franction& x); /置分数的分子和分母分别0和1 void InitFranction() nume=0; deno=1; /置分数的分子和分母分别n和d vo
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 面向对象程序设计 面向 对象 程序设计 形成 考核 作业 答案

链接地址:https://www.31ppt.com/p-2385865.html