第8章 类和对象.doc

上传人:marr****208 文档编号:137861335 上传时间:2020-07-12 格式:DOC 页数:32 大小:222KB
返回 下载 相关 举报
第8章 类和对象.doc_第1页
第1页 / 共32页
第8章 类和对象.doc_第2页
第2页 / 共32页
第8章 类和对象.doc_第3页
第3页 / 共32页
第8章 类和对象.doc_第4页
第4页 / 共32页
第8章 类和对象.doc_第5页
第5页 / 共32页
点击查看更多>>
资源描述

《第8章 类和对象.doc》由会员分享,可在线阅读,更多相关《第8章 类和对象.doc(32页珍藏版)》请在金锄头文库上搜索。

1、第8章 类和对象一、单项选择题(在每小题列出的四个备选项中只有一个是符合题目要求的。)1在C+中,数据封装要解决的问题是A数据的规范化 B便于数据转换C避免数据丢失 D防止不同模块之间数据的非法访问2为了使类中的某个成员不能被类的对象通过成员操作符访问,则不能把该成员的访问权限定义为Apublic Bprotected Cprivate Dstatic3如果类中的所有成员在定义时都没有使用关键字public、private或protected,则所有成员缺省定义为Apublic Bprotected Cprivate Dstatic4下列关于类定义的说法中,正确的是 A数据成员必须被声明为私有

2、的B成员函数只能在类体外进行定义C类成员的缺省访问权限是保护的D类定义中包括数据成员和函数成员的声明5有如下两个类定义:Class AA ;Class BB AA v1,*v2; BB v3; int *v4;其中有一个成员变量的定义是错误的,这个变量是 Av1 Bv2 Cv3 Dv46有如下类定义:class myClass public: myClass(int i=0):n(i) void setValue(int n0); int getValue() return n;private: int n;下列关于setValue成员函数的实现中,正确的是 AsetValue(int n0)

3、 n=n0; Bvoid setValue(int n0) n=n0; CmyClass:setValue(int n0) n=n0; Dvoid myClass:setValue(int n0) n=n0; 7对于下面定义的类MyClass,在函数f()中将对象成员n的值修改为50的语句应该是class MyClasspublic: MyClass(int x)nx; void SetNum(int nl)n=nl;private: int n;int f() MyClass *ptr=new MyClass(45); _AMyClass(50) BSetNum(50)Cptr-n=50 D

4、ptr-SetNum(50)8下面是类MyClass的定义,对定义中各语句描述正确的是#include using namespace std;class MyClasspublic:void MyClass(int a) X=a; / int f(int a,int b) / X=a;Y=b;int f(int a,int b,int c=0) / X=a;Y=b;Z=c;static void g() X=10; / private:int X,Y,Z;A语句是类MyClass的构造函数定义B语句和语句实现类成员函数的重载C语句实现对类成员变量X的更新操作D语句、和都不正确9有如下头文件:

5、int fl();static int f2();class MA public:int f3();static int f4();;在所描述的函数中,具有隐含的this指针的是 Af1 Bf2 Cf3 Df410下列对类的构造函数和析构函数的描述中,正确的是A构造函数可以重载,析构函数不能重载B构造函数不能重载,析构函数可以重载C构造函数可以重载,析构函数也可以重载D构造函数不能重载,析构函数也不能重载11下列关于构造函数的描述中,错误的是A构造函数可以重载B构造函数可以设置默认参数C构造函数在定义类变量时自动执行D构造函数可以对静态数据成员进行初始化12有如下类定义:class MyCla

6、ss int value; public;MyClass(int n): value (n) int gerValue()const return value;则类 MyClass 的构造函数的个数是 A1 个 B2 个C3 个D4 个13假定MyClass为一个类,则该类的拷贝构造函数的声明语句为AMyClass &(MyClass x); BMyClass (MyClass x);CMyClass(MyClass x); DMyClass (MyClass *x);14下列情况中,不会调用拷贝构造函数的是 A用一个对象去初始化同一类的另一个新对象时B将类的一个对象赋予该类的另一个对象时C函

7、数的形参是类的对象,调用函数进行形参和实参结合时D函数的返回值是类的对象,函数执行返回调用时15有如下类定义: class A char *a;public: A():a(0)A(char *aa) / 把aa所指字符串拷贝到a所指向的存储空间 a=_; strcpy(a,aa);A() delete a;;横线处应填写的表达式是Anew charstrlen(aa)+1Bcharstrlen(aa)+1Ccharstrlen(aa)Dnew charsizeof(aa)-116Sample是一个类,执行语句Sample a2, *p= new Sample;后,调用Sample类的构造函数的

8、次数是 A0 B1 C2 D317假定MyClass为个类,则执行MyClass a,b(2),*p;语句时,自动调用该类的构造函数的次数为 A2 B3 C4 D518设有Point类定义如下:class Pointint x,y;public: Point(int x1=0,int y1=0):x(x1),y(y1);执行语句 Point a(2),b3,*c4;时,Point类的构造函数被调用的次数是 A2次B3次C4次D8次19有类定义如下:class My Class public:MyClass() cout1;执行语句MyClass a,b2,*p2; 后,程序的输出结果是 A11

9、B111C1111 D1111120下列关于析构函数的叙述中,不正确的是A析构函数可以有形参B一个类只有一个析构函数C析构函数没有任何函数类型D析构函数的作用是在对象被撤销时收回先前分配的内存空间21假定AB为一个类,px为指向该类的一个含有n个对象的动态数组的指针,则执行语句“delete px;”时,共调用该类析构函数的次数为 A. 0 B. 1 C. n D. n+122下面对于友元函数描述正确的是A友元函数的实现必须在类的内部定义B友元函数是类的成员函数C友元函数破坏了类的封装性和隐藏性D友元函数不能访问类的私有成员23一个类的友元函数或友元类能够通过成员操作符访问该类的A私有成员 B

10、保护成员 C公有成员 D所有成员24下列有关类成员的叙述中,正确的是 A友元函数是类的成员函数B类成员的默认访问权限是私有的C类成员函数必须声明为公有的D类的静态数据成员不能是常成员25下面对静态数据成员的描述中,正确的是A静态数据成员可以在类体内进行初始化B静态数据成员不可以被类的对象调用C静态数据成员不能受private控制符的作用D静态数据成员可以直接用类名调用26下面对静态数据成员的描述中,正确的是A静态数据成员是类的所有对象共享的数据B类的每个对象都有自己的静态数据成员C类的不同对象有不同的静态数据成员值D静态数据成员不能通过类的对象调用27有如下类定义:class Pointpri

11、vate;static int how_many;_ how_many=0;要初始化 Point 类的静态成员 how_many,下划线处应填入的内容是 AintBstatic intCint Point: Dstatic int Point:28对于常成员函数,下面的描述正确的是A常成员函数只能修改常数据成员 B常成员函数只能修改一般数据成员C常成员函数不能修改任何数据成员 D常成员函数只能通过常对象调用29由于常对象不能被更新,因此 A通过常对象只能调用它的常成员函数B通过常对象只能调用静态成员函数C常对象的成员都是常成员D通过常对象可以调用任何不改变对象值的成员函数30有如下程序#inc

12、ludeusing namespace std;class Sample public: Sample() Sample() cout*;int main() Sample temp2,*pTemp2; return 0;执行这个程序后,输出星号“*”的个数为 A1B2C3D431有如下程序#includeusing namespace std;class MyClasspublic: MyClass() coutA; MyClass(char c) coutc; MyClass() coutB;int main() MyClass p1,*p2; p2=new MyClass(X); delete p2; return 0;程序执行后,输出结果为 AABX BAXB CABXB DAXBB32有如下程序#include using namespace std; class DA int k;public:DA(int x=1): k(x) DA() coutk;int main

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

最新文档


当前位置:首页 > 高等教育 > 其它相关文档

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