东北农业大学22春《面向对象程序设计》在线作业三及答案参考70
( 13 )下列关于派生类构造函数和析构函数的说法中,错误的是
A )派生类的构造函数会隐含调用基类的构造函数
B )如果基类中没有缺省构造函数,那么派生类必须定义构造函数
C )在建立派生类对象时,先调用基类的构造函数,再调用派生类的构造函数
D )在销毁派生类对象时,先调用基类的析构函数,再调用派生类的析构函数
( 22 )建立一个类对象时,系统自动调用
A )析构函数
B )构造函数
C )静态函数
D )友元函数
下列关于派生类构造函数和析构函数的说法中,错误的是
A.派生类的构造函数会隐含调用基类的构造函数
B.如果基类中没有缺省构造函数,那么派生类必须定义构造函数
C.在建立派生类对象时,先调用基类的构造函数,再调用派生类的构造函数
D.在销毁派生类对象时,先调用基类的析构函数,再调用派生类的析构函数
解析:本题考查的知识点是;派生类的构造函数和析构函数。在销毁派生类对象时,析构函数的执行;过程与构造函数严格相反,即;(1)对派生类新增普通成员进行清理; (2)调用成员对象析构函数,对派生类新增的成员对象进行清理;(3)调用基类析构函数,对基类进行清理。故本题应该选择D。
对于派生类的构造函数,在定义对象时构造函数的执行顺序:先执行调用______的构造函数,再执行调用子对象类的构造函数,最后执行派生类的构造函数体中的内容。
基类 解析: 对于派生类的构造函数,在定义对象时构造函数的执行顺序:先执行调用基类的构造函数,再执行调用子对象类的构造函数,最后执行派生类的构造函数体中的内容。所以本题填:基类。
在删除一个动态对象时,将自动调用该动态对象所属类的析构函数。()
东北农业大学22春面向对象程序设计在线作业三及答案参考1. 运算符delete删除一个动态对象时( )。A.首先为该动态对象调用构造函数,再释放其占用的内存B.首先释放该动态对象占用的内存,再为其调用构造函数C.首先为该动态对象调用析构函数,再释放其占用的内存D.首先释放动态对象占用的内存,再为其调用析构函数参考答案:C2. 下列语句序列执行后,ch1的值是( )。 char ch1=&39;A&39;,ch2=&39;W&39; if(ch1 + 2 ch2 ) +ch1;A.AB.BC.CD.B参考答案:B3. 结构化程序设计方法以( )为中心进行分析和设计。A.结构B.模块C.对象D.类参考答案:B4. 关键字super的作用是( )。A.用来调用父类的构造方法B.用来调用父类中被重载的方法C.用来访问父类被隐藏的成员变量D.以上都是参考答案:D5. C语言编写的源程序其文件扩展名是( )。A.cB.objC.exeD.bat参考答案:A6. 要使语句“p=new int1020;”能够正常执行,p应被事先定义为( )。A.int*p20B.int*pC.int*pD.int(*p)20参考答案:D7. 在类体外定义成员函数时需要通过域运算符指定该成员函数所属的类。( )在类体外定义成员函数时需要通过域运算符指定该成员函数所属的类。( )A.正确B.错误参考答案:A8. 在以下说明中,标识符ptr( )。Int(*ptr)3A.说明不合法B.是一个指针数组名,每个元素是一个指向整数变量的指针C.是一个指针数组名,每个元素是一个指向整数变量的指针D.是一个指向整型变量的指针参考答案:C9. 成员函数一定是内联函数。( )A.对B.错参考答案:B10. 运算符只能用成员运算符来重载,不能用友元运算符来重载。( )运算符只能用成员运算符来重载,不能用友元运算符来重载。( )A.正确B.错误参考答案:A11. 派生类的对象对它的基类成员中( )是可以访问的。A.公有继承的公有成员B.公有继承的私有成员C.公有继承的保护成员D.私有继承的公有成员参考答案:A12. 类的常量成员函数中只能使用常量数据成员。( )A.正确B.错误参考答案:B13. 程序控制语句主要包括选择、循环和( )。A.跳转B.注释C.条件编译D.宏定义参考答案:A14. 在C+程序中,有且仅能有一个主函数,且其函数名必须是main。( )在C+程序中,有且仅能有一个主函数,且其函数名必须是main。( )A.正确B.错误参考答案:A15. 一个类的构造函数中可以不包含对其子对象的初始化。( )A.正确B.错误参考答案:B16. 类外可以直接引用类的所有静态数据成员和静态成员函数。( )A.对B.错参考答案:B17. 重载的运算符保持原来的优先级和结合性以及操作数的个数。( )A.正确B.错误参考答案:A18. C+语言的跳转语句中,对于break和continue说法正确的是( )。A.break语句只应用于循环体中B.continue语句只应用于循环体中C.break是无条件跳转语句,continue不是D.break和continue的跳转范围不够明确,容易产生问题参考答案:B19. 在下面循环语句中循环体执行的次数为( )。int i=0,s=0;while(sA.4B.5C.6D.7参考答案:C20. 通过指针或引用可以调用不同对象相同名称的函数,但可导致完全不同的行为的现象称为二义性。( )通过指针或引用可以调用不同对象相同名称的函数,但可导致完全不同的行为的现象称为二义性。( )A.正确B.错误参考答案:B21. 创建字符串s:String s=new String(abcd); 以下( )将改变s。A.以上语句都不会B.s.substring(3);C.s.concat(y);D.s.append(x);参考答案:A22. 一般对象和指向对象指针的成员函数表示分别是运算符.和-。( )A.错误B.正确参考答案:B23. Java中main( )函数的值是( )。A.voidB.intC.charD.String参考答案:A24. 下列表示引用的方法中,( )是正确的。已知:int k=1000A.int &x=kB.char &yC.int &z=1000D.float &t=&k参考答案:A25. 类Teacher和Student是类Person的子类; Person p; Teacher t; Student s; /p, t and s are all non-null. if(t instanceof Person) s = (Student)t; 最后一句语句的结果是( )。A.将构造一个Student对象B.表达式是合法的C.表达式是错误的D.编译时正确,但运行时错误参考答案:C26. 下面程序段中是内联函数的是( )。class locationprivate:int x ,y;public:void init(int initx,int inity) x=initx; y=inity; int getx( )return x;int gety( );inline int location:gety( ) return y;下面程序段中是内联函数的是( )。class locationprivate:int x ,y;public:void init(int initx,int inity) x=initx; y=inity; int getx( )return x;int gety( );inline int location:gety( ) return y;A.init (int initx,int inity)B.getx( ),gety( )C.A和B都是D.A和getx( )参考答案:C27. C语言中,下列( )是正确的标识符。A.1aB.cC.-cD.a1参考答案:D28. 成员函数的参数可以设置默认值。( )A.对B.错参考答案:A29. 通过指针或引用可以调用不同对象相同名称的函数,但可导致完全不同的行为的现象称为二义性。( )A.正确B.错误参考答案:B30. C+语言类定义中默认的访问权限是public。( )C+语言类定义中默认的访问权限是public。( )A.正确B.错误参考答案:B31. 设i、j、k为类x中定义的int型变量名,下列类x的构造函数中不正确的是( )A.x( int m) . B.void x( int m) . C.x( int m, int n) . D.x( int h,int m,int n) . 参考答案:B32. 用new动态申请的内存是在堆中分配的,而不是在栈中分配的。( )A.错误B.正确参考答案:B33. 关于被私有访问控制符private修饰的成员变量,以下说法正确的是( )。A.可以被三种类所引用:该类自身、与它在同一个包中的其他类、在其他包中的该类的子类B.可以被两种类访问和引用:该类本身、该类的所有子类C.只能被该类自身所访问和修改D.只能被同一个包中的类访问参考答案:C34. 下列构造方法的调用方式中,正确的是( )。A.按照一般方法调用B.由用户直接调用C.只能通过 new 自动调用D.被系统调用参考答案:C35. 下列哪些语句是正确的( )。A.int a=new int3;B.int a=1,3,2,3,4,1,2;C.String s=new String2;D.String s=can,I,help,you参考答案:BCD36. 有类定义:abstract class Apublic abstract void f( ); 下面关于该类的描述中正确的是( )。A.该类的方法不能被重载B.该类可以用new A( ); 实例化一个对象C.该类不能被继承D.以上说法都不对参考答案:D37. 不允许作为类及类成员的访问控制符的是( )。A.publicB.privateC.staticD.protected参考答案:C38. 下列语句输出结果为( )。 public class Apublic static void main(Stringargs)byte b=0xa; System.out.println(b); 。A.aB.10C.1D.0xa参考答案:B39. int a1=5,a2=10,a3=20;int c=(a1A.10B.5C.20D.1参考答案:A40. 假定AB为一个类,有类AB的两个对象a1,a2; 则执行语句AB *a10=&a1,&a2;时系统自动调用该类的构造函数的次数为2。( )A.正确B.错误参考答案:B41. 下列程序段执行后的结果是( )。String s=new String(“abcdefg”); for(int i=0;is.length( );i+=2)System.out.print(s.charAt(i);A.acegB.ACEGC.abcdefgD.abcd参考答案:A42. 假定指针变量p定义为“int *p=new int(100);”,要释放p所指向的动态内存,应使用语句( )。A.deletepB.deletepC.delete*pD.delete&p参考答案:A43. 类中所提供的成员函数可以直接访问该类的私有成员。( )A.正确B.错误参考答案:A44. 设有说明语句:int x=1, y=3, z=5; 则下面表达式中值为0的是( )。A.(y!=1)&(z!=0)B.x&zC.(xy)&xzD.x|y3&z5参考答案:A45. 数组的大小在创建以后( )。A.
关于new运算符的错误的描述是( )。
A.使用运算符new创建对象数组时必须定义初始值
B.使用运算符new创建对象时,会调用类的构造函数
C.运算符new可以用来动态创建对象和对象数组
D.使用new运算符创建的对象可以使用运算符delete删除
A使用delete运算符释放类对象时要调用该类的析构函数
Bdelete运算符可以作用于空指针
C由new运算符分配的动态内存空间必须通过delete运算符释放
D使用delete运算符释放动态分配的单个对象和对象数组的语法格式相同
答案:C
下列关于派生类构造函数和析构函数的叙述中,错误的是
A.派生类的构造函数会隐含调用基类的构造函数
B.如果基类中没有默认构造函数,那么派生类必须定义构造函数
C.在建立派生类对象时,先调用基类的构造函数,再调用派生类的构造函数
D.在销毁派生类对象时,先调用基类的析构函数,再调用派生类的析构函数
解析:在通常情况下,派生类和基类的构造函数的执行顺序为:先执行基类的构造函数,然后执行派生类的构造函数;当撤销派生类对象时,先执行派生类的析构函数,随后再执行基类的析构函数。
下列关于派生类构造函数和析构函数的说法中,错误的是( )。
A.派生类的构造函数会隐含调用基类的构造函数
B.如果基类中没有缺省构造函数,那么派生类必须定义构造函数
C.在建立派生类对象时,先调用基类的构造函数,再调用派生类的构造函数
D.在撤销派生类对象时,先调用基类的析构函数,再调用派生类的析构函数
解析:此题考查的是派生类的构造函数和析构函数。在撤销派生类对象时,析构函数的执行过程和构造函数严格相反,即:对派生类新增普通成员进行清理;调用成员对象析构函数,调用基类析构函数对基类进行清理。
建立一个类对象时,系统自动调用
A.析构函数
B.构造函数
C.静态函数
D.友元函数
解析:构造函数的作用是在对象被创建时利用特定的值构造对象,将对象初始化为一种特定的状态,使该对象具有区别于其他对象的特征。构造函数在对象被创建的时候由系统自动调用。故答案选B)。
相关考题:
- 多选题Which three methods will show the storage engine for the Country table?()AABBCCDDEE
- 单选题竣工测量属于( )阶段的任务。A工程勘测B工程建设C工程运营D工程检测
- 药材金钗石斛的性状鉴别特征是()A、茎呈细长圆柱形,常盘绕成团,味淡B、茎呈长圆锥形,味微苦C、茎圆柱形,味甜,嚼之有黏性D、茎呈粗纺锤形,表面有明显凸起的棱,味淡,嚼之有黏性E、茎扁圆柱形,表面有深纵沟,味苦
- 面青颊赤,为();面青耳赤,多为();面色青灰,口唇青紫,伴有心胸刺痛,因(),(),()所致。
- 主痰饮的病脉有(),(),();主宿食内停的脉象有(),(),(),();痰热内蕴的相兼脉是()。
- 单选题While reviewing the MySQL error log, you see occasions where MySQL has exceeded the number of file handles allowed to it by the operating system. Which method will reduce the number of file handles in use?()AActivating the MySQL Enterprise thread pool pluginBRelocating your data and log files to separate storage devicesCDisconnecting idle localhost client sessionsDImplementing storage engine data compression options
- 多选题日常地籍测量中有关宗地面积计算与变更说法正确的有( )。A变更前后均为解析法量算的宗地面积,如原界址点坐标或界址点间距满足精度要求,则保持原宗地面积不变B变更前后均为解析法量算的宗地面积,如原界址点坐标或界址点间距满足精度要求,用变更后量算的宗地面积取代原宗地面积C变更前后均为解析法量算的宗地面积,如原界址点坐标或界址点间距不满足精度要求,用变更后量算的宗地面积取代原宗地面积D变更前为图解法量算的宗地面积,变更后为解析法量算的宗地面积,用变更后量算的宗地面积取代原宗地面积E变更前后均为图解法量算的宗地面积,两次面积量算差值满足规定限差要求的,保持原宗地面积不变
- 少阳病证的临床表现有()A、口苦咽干B、往来寒热C、胸胁苦满D、心烦喜呕E、脉紧
- 平时常自汗出,易感冒,兼有面色淡白,短气.动则气喘,舌淡苔白,脉细弱等症,为外感表虚。
- 在十二经脉走向中,足之三阴是()A、从脏走手B、从头走足C、从足走胸D、从足走腹E、从手走头
- 金属非金属矿山(露天矿山)生产经营单位安全管理人员考试试题测试强化卷及答案[76]-
- 金属非金属矿山(露天矿山)生产经营单位安全管理人员考试试题测试强化卷及答案[96]-
- 金属非金属矿山(露天矿山)生产经营单位安全管理人员考试试题测试强化卷及答案[85]-
- 金属非金属矿山(露天矿山)生产经营单位安全管理人员考试试题测试强化卷及答案[77]-
- 金属非金属矿山(露天矿山)生产经营单位安全管理人员考试试题测试强化卷及答案[97]-
- 金属非金属矿山(露天矿山)生产经营单位安全管理人员考试试题测试强化卷及答案[73]-
- 熔化焊接与热切割作业安全生产考试试题测试强化卷和答案【60】-
- 熔化焊接与热切割作业安全生产考试试题测试强化卷和答案{73}-
- 熔化焊接与热切割作业安全生产考试试题测试强化卷和答案{26}-
- 金属非金属矿山(露天矿山)生产经营单位安全管理人员考试试题测试强化卷及答案[83]-