C++习题-.pdf
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《C++习题-.pdf》由会员分享,可在线阅读,更多相关《C++习题-.pdf(50页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、一、单项选择题1有以下类的说明,请指出错误的地方。class CSample int a2.5;(A)Csample();(B)public:CSample(int val);(C)CSample();(D);答:A 分析:类的数据成员不能直接赋初值。2在 C十中,可以把具有相同内部存储结构和相同操作的对象看成属于同一类。在指定一个类后,往往把属于这个类的对象称为类的。从语言角度来说,类是一种数据类型,而是具有这种类型的变量。A实例B实物C特征D对象答:AD 3有关类的说法不正确的是。A类是一种用户自定义的数据类型B只有类中的成员函数才能存取类中的私有数据C在类中,如果不作特别说明,所有的数据
2、均为私有类型D在类中,如果不作特别说明,所有的成员函数均为公有类型答:D 4有关类和对象的说法下列不正确的有。A对象是类的一个实例B任何一个对象只能属于一个具体的类C一个类只能有一个对象D类与对象的关系和数据类型和变量的关系相似答:C 5有关构造函数的说法不正确的是。A构造函数名字和类的名字一样B构造函数在说明类变量时自动执行C构造函数无任何函数类型D构造函数有且只有一个答:D 6有关析构函数的说法不正确的是。A析构函数有且只有一个B析构函数无任何函数类型C析构函数和构造。数一样可以有形参D析构函数的作用是在对象被撤消时收回先前分配的内存空间答:C 分析:构造函数可以有形参,但析构函数不能有形
3、参。7在类的定义体外定义成员函数时,需要在函数名前加上(1),而在域外使用成员函数时,需要在成员名外加上的名字。A 类标记B类域标记C类对象D域运算符答:BC 8若函数是在运行时被激活的,则该函数称为。A 内联函数B非内联函数C成员函数D静态成员函数答:B 9在类的定义形式中,数据成员、成员函数和组成了类定义体。A成员的访问控制信息B公有消息C私有消息D保护消息答:A 10的功能是对对象进行初始化。A析构函数 B数据成员胸造函数 D静态成员函数答:C 11只能访问静态成员变量,静态成员函数和类以外的函数和数据不能访问类中的非静态成员变量。A 静态函数B虚函数C构造函数D析构函数答:A 12若却
4、 queue是类,aQueue是它的一个对象,pl 是类对象 aQueue的一个指针,那么类对象aQueue可以通过来访问类的成员,类对象 aQueue的指针 p1 可以通过来访问类的成员。A:B C;D答:BD 13局部变量可以隐藏全局变量,那么在有同名全局变量和局部变量的情形时,可以用。提供对全局变量的访问。A 域运算符B 类运算符C重载D 引用答:A 14在下列关键宇中,用以说明类中公有成员的是。Apublic B private Cprotected Dfriend 答:A 15下列的各类函数中,不是类的成员函数。A 构造函数 B析构函数 C友元函数 D拷贝初始化构造函数答:C 16不
5、是构造函数的特征。A构造函数的函数名与类名相同B构造函数可以重载C构造函数可以设置默认参数D构造函数必须指定类型说明答:D 17是析构函数的特征。A一个类中只能定义一个析构函数B析构函数名与类名不同C析构函数的定义只能在类体内D析构函数可以有一个或多个参数答:A 18通常拷贝初始化构造函数的参数是、。A某个对象名B 某个对象的成员名C某个对象的引用名D某个对象的指针名答:C 19关于成员函数特征的下述描述中,是错误的。A成员函数一定是内联函数B成员函数可以重载C成员函数可以设置参数的默认值D成员函数可以是静态的答:A 分析:成员函数可以是时联函数,也可以是非内联函数。20下述静态数据成员的特性
6、中,是错误的。A说明静态数据成员时前边要加修饰符StatiC B静态数据成员要在类体外进行初始化C引用静态数据成员时,要在静态数据成员名前加类名和作用域运算符D静态数据成员不是所有对象所共用的答:D 21友元的作用。A提高程序的运用效率B加强类的封装性C实现数据的隐藏性D增加成员函数的种类答:A 22类模板的使用实际上是将类模板实例化成一个具体的。A类 B对象 C函数 D模板类答:A 23一个允许用户为类定义一种模式,使得类中的某些数据成员及某些成员函数的返回值能取任意类型。A函数模板 B模板函数 C类模板 D模板类答:C 24模板是实现类属机制的一种l 具,其功能非常强大,它既允许用户构造类
7、属函数,即;也允许用户构造类属类,即。A模板函数B函数模板C模板类D类模板答:AC 二、填空题1任何类中允许有三种类型的数据、。答:public private protected 2类中的数据和成员函数默认类型为。答:私有3结构中 p 玫据和成员函数默认类型为。答:公有4 在类内部定义的数据不能被不属于该类的函数来存取,定义为的数据、函数则可以在类外部进行存取。答:pritvale public 5是一种特殊的成员函数,它主要用来为对象分配内存空间,对类的数据成员进行初始化并执行对象的其他内部管理操作。答:构造函数6一个类有个析构函数。答:l 7静态数据成员在定义或说明时前面要加上关键字。答
8、:static 8成员函数的实现中不能直接引用类中说明的非静态成员。答:静态9定义在类内部的函数为类默认状态,在类外部每次调用该函数时,定义的函数代码会在调用函数位置展开。答:内联函数10以下程序运行的结果为、。Include”iostreamh”class CSample private:int i;static int k;public:CSample();void Display();CSample:CSample()i0;k+;void Csample:Display()cout”i=”i”,k=”k endl;int csample:k=0;void main()CSample a,
9、b;aDisplay();bDisplay();答:i0,k2 i0,k2 11以下程序运行的结果为。Include”lostreamh”class CSample int i;public:CSample();void Display();CSample();CSarnple:CSample()cout”Constructor”,”;i=0;;void CSample:Display()cout”i=”i”,”;CSample:CSample()cout”Destructor”endl;void main()CSample a;aDisplay();答:Constructor,i=0,Des
10、tructor 12以下程序运行的结果为。include”streamh”class CSample int i;public:CSample();CSample(int val);void Display();CSample();CSample:CSample()cout”Constructor”end1;CSample:CSample(int val)cout”Constructor”end1;i=val;void CSample:Display()cout”i”iend1;CSample:CSample()cout”Destructor”endl;void main()CSample a
11、,b(10);aDisplay();bDisplay();答:Constructor1 Constructor2 i0 i=10 Destructor Destructor 13以下程序运行的结果为。include”iostreamh”C1ass CCouter int value;public:CCounter();CCounter(int val);CCounter();class CExample intvalue;public:CCounter car;CExample();cexample(int val);void DISplay();CExample();CCounter:CCo
12、unter()cout”ccounter Constructorl”endl;valueo;CCounter:CCounter(int val)毛cout”CCounter constructor2”endl;valueval;CCounter:CCounter()cout”CCounter Destructor”endl;CExarnple:CExample()cout”CExample constructorl”endl;value0;CExample:CExample(int val)cout”CExamPle Constructorl”endl;value=val;void CExam
13、ple:Display()cout”value”valueendl;CExample:CExample()cout”CExample Destructor”endl;void main()CExample e(2);eDisplay();答:ccounter Constructor2 CExample Constructor2 Value=2;CExample Destmctor CCoullter Destructor 14以下程序运行的结果为。#includeiostreamhClass B public:B();B(int i,int j);void Printb();private:i
14、nt a,b;classA public:A();A(int i,int j);void printa();private:B C;A:A(int i,int D):c(i,j);void A:printa()cprintb();B:B(int i,int j)a=i;bj;void B::printb()cout”a=”a”,b=”b endl;void main()A m(78);mprinta();答:a7,b8 15阅读以下程序后填空。#includeiostreamhclass queue int q100;存放队列中的各个元素int head,rear;head和 rear分别为队
15、头、队尾public:queue();void qgut(int i);int qget();queue:queue()构造函数headrear0;cout”queue initializedn”;void queue:qput(int i)if(head100)cout”queue is fulln”;return;head十十;qhead=i;int queue:qget()if(rear=head)cout”queque is emptyn”;return 0;rear;return qrear;void main)queue a,b;aqPut(10);bqput(20);aqput(
16、20);bqPut(19);coutta.qget()endl;操作 1 coutta.qget()endl;操作 2 coutta.qget()endl;操作 3 coutta.qget()endl;操作 4 操作 1 输出的结果是,操作 2 输出的结果是,操作 3 输出的结果是,操作 4 输出的结果是。答:10202019 二、类和对象一、单项选择题l已知一个类 A,是指向类 A 成员函数的指针。假设类有三个公有成员:void fl(int),void f2(int)和int a。AAp Bint A:pc。A:a Cvoid A:pa DApp 答:C 2运算符一*的功能是。A用来表示指
17、向对象指针对指向类成员指针的操作B 用来表示对象对指向类成员指针的操作C 月来表示指向对象指针对类成员的操作D用来表示对象类成员的操作答:A 3己知 fl(int)是类 A 的公有成员函数,p 是指向成员函数fl()的指针,采用是正确的。Apf1 Bp=a:f1*Cp=a:f1*()DPf1()答:B 4已知:p 是一个指向类 A 数据成员 m 的指针,AI 是类 A 的一个对象。如果要给 m 赋值为 5,是正确的。AA1p5 B.A1-p5 CA1p5 DA1p5 答:C 5己知:类 A 中一个成员函数说明如下:void Set(Aa);其中,Aa 的含义是。A指向类 A 的指针为 a B将
18、 a的地址值赋给变量Set C.a是类 A 的对象引用,用来作函数Set()的形参D变量 A 与 a按位相与作为函数Set()的参数答:C 6下列关于对象数组的描述中,是错误的。A对象数组的下标是从0 开始的B对象数组的数组名是一个常量指针C对象数组的每个元素是同一个类的对象D对象数组只能赋初值,而不能在定义后赋值答:D 7,下列定义中,是定义指向数组的指针p.Aint*p5 Bint(*p)5 C(int*)p5 Dint*p 答:B 8下列说明中const char ptr;Ptr应该是、。A 指向字符常量的指针B指向字符的常量指针C指向字符串常量的指针D指向字符串的常量指针答:C 9已知
19、:Print()函数是一个类的常成员函数,它无返回值,下列表示中,是正确的。Avoid prit()const Bconst void print()Cvoid const print()Dvoid pfint(const)答:A 10关于 new 运算符的下列描述中,是错误的。A 它可以用来动态创建对象和对象数组B使用它创建的对象或对象数组,可以使用运算符delete删除C使用它创建对象时要调用构造函数D使用它创建对象数组时必须指定初始值答:D 11关于 delete运算符的下列描述中,是错误的。A它必须用于 new 返回的指针B它也适用于空指针C对一个指针可以使用多次该运算符D指针名前只用
20、一对方括号符,不管所删除数组的维数答:C 二、空题1以下程序的执行结果是。Include”iostreamh”class Sample int X;public:void setx(int i)xi;int putx()return x;Void main()Samplep;Sample A3;A0 setx(5);Al setx(6);A2 Setx(7);For(int j0;j3;j)pAj;coutPPutx()”;coutendl;:5,6,7 2以下程序的执行结果是,。includeiostreamhclass Sample int X;public:void setx(int i
21、)x=i;int putx()return x;Void main()samplep;Sample A3;A0 setx(5);Al setx(6);A2 Setx(7);P=A 0;for(int j=0;j3;j)coutp putx()”;coutend1 答:5,6,7 3以下程序的执行结果是。includeiostreamhclass box int length;int Width;boxanother box;public:box();void Set(int new length,int new wdth);int get area();void point at next(b
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C+ 习题
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内