第3章
类和对象
一、填空题
1.类的成员包括两类,一类是代表对象属性的,另一类是实现对象行为的。
2.类的私有成员和保护成员的共同特点是只能被本类的函数和该类的友元函数
访问;不同点是保护成员还能被从该类的派生的的成员函数访问。
3.类的成员函数的定义方式有两种:一种是在类中进行说明,而函数体则在
类外进行定义;另一种方式是在类内直接进行定义,这种方式定义的函数系统自动默认为该类的函数。
4.类中构造函数可以重载,能够定义个构造函数;析构函数不能重载,只能定义个析构函数。
5.在定义类的对象时,程序将自动调用该类的来给对象的数据成员分配存储空间;在撤销类的对象时,程序将自动调用该类的完成一些清理工作。在使用一个类已
经定义的对象初始化该类的另一个对象时,可以调用构造函数来完成此功能。
6.如果在类A中定义了一个构造函数A(int aa=0):a(aa){};,则定义类A的对象b时,可以有种不同的定义方式,分别是和A b(4);。
7.假设类X的对象x是类Y的内嵌对象成员,则在执行Y y;语句时,系统会自动先调用类的构造函数,再调用类构造函数。
8.如果在程序中定义一个point类,使用语句point *pt=new point[3];申请了一个对象数组,构造函数可以被重载
则在需要释放pt指向的动态数组对象时,所使用的语句是。
9.如果定义一个MyClass类,则这个类的构造函数名称为,析构函数名称为。
10.在C++中,函数的参数传递方式有3种,如果采用引用方式进行参数传递,形参对象就
相当于是的“别名”,对的操作其实就是对实参对象的操作。
二、判断题
1.类中的任何成员函数都可以被定义为内联函数。
2.在声明类的同时,不能直接定义对象。
3.一个类中可以定义多个构造函数和析构函数。
4.拷贝构造函数的形参只能是本类对象的引用。
5.在C++中,系统自动为类分配存储空间,所以可以在类声明中给数据成员赋初值。
19
20
6.在定义类的成员函数时,对函数所带的参数,其类型必须说明,而参数名可以指出,也可以不指出。
7.声明类的同时定义的类对象是一种全局对象,它的生存期一直到整个程序运行结束。
8.当创建一个类的多个对象和删除这些对象时,类的构造函数和析构函数调用顺序一定相同。
9.一个类如果定义带默认参数的构造函数,则在定义对象时,若省略构造函数的某个参数的值,则其左面所有参数的值都必须省略,而且采用默认值。
10.this指针是一个隐含于每一个成员函数中的特殊指针,它指向正操作该成员函数的对象。
三、选择题
1.类中数据成员的生存期,下面说法正确的是()。
A.类中数据成员的生存期与对象的生存期无关
B.类中数据成员的生存期与对象的生存期长
C.类中数据成员的生存期与对象的生存期短
D.类中数据成员的生存期由对象的决定
2.关于构造函数和析构函数,下面说法正确的是()。
A.构造函数可以重载,析构函数不能重载
B.构造函数可以重载,析构函数也可以重载
C.构造函数不能重载,析构函数也不能重载
D.构造函数不能重载,析构函数可以重载
3.Student是已定义的一个类,那么执行语句“Student stu1,stu2(3),*stu3,*stu4;”,调用了()次构造函数。
A.1 B.2 C.3 D.4 4.“void point(Student &s);”是某类中的一个成员函数声明,Student &s的含义为()。
A.将s的地址赋给变量
B.s是类Student的对象引用,用来作为point()的形参
C.指向类Student的指针为s
D.&s是类Student的对象,用来作为point()的形参
5.AB为一个类,ac()为该类的公有成员函数,xy为该类的一个对象,则访问xy对象中的成员函数ac()的格式为()。
A.xy.ac() B.xy.ac C.xy->ac() D.xy->ac 6.下面关于类的说法不正确的是()。
A.定义类时不能对类中数据成员赋值
B.一个类可以有多个对象
C.一个对象可以属于多个类
D.类与对象的关系和数据类型与变量的关系类似
7.下列情况下,不会调用拷贝构造函数的是()。
A.用一个对象去初始化同类的另一个对象
B.将类的一个对象的值赋给该类的另一个对象
C.函数的形参是类的对象,调用函数进行形参和实参相结合
D.函数的返回值是类的对象,函数执行返回调用时
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论