C期末考试试题_第1页
C期末考试试题_第2页
C期末考试试题_第3页
C期末考试试题_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

一、单项选择题(12题,每题5分)1.已定义了一个类A并有语句A*pa=newA(5);那么以下说法正确的选项是:DA.该语句会创立A类的一个对象,并将此对象的地点赋给指针pa;B.该语句会创立A类的5个对象,且它们的地点是连续的;C.当指针变量pa高出其作用域时,pa和为对象分派的空间都将被自动开释;类A中必定有一个显式定义的结构函数和一个显式定义的虚析构函数;2.定义类A的非静态成员函数A&f(A&one)时,需有语句returnexp;则exp不可以是:DA.类A中种类为A的静态数据成员B.f顶用语句Aa=one;定义的量aC.oneD.*this3.在一个类中,以下哪些成员能够是多个?DA.无参结构函数B.析构函数C.原型同样的非静态成员函数D.静态成员函数4.对于经过公有继承定义的派生类,若其成员函数能够直接接见基类的某个成员,说明该基类成员的接见权限是:DA.公有或私有B.私有C.保护或私有D.公有或保护5.在以下重点字中,不可以用来表示继承方式的是:BA.privateB.staticC.publicD.protected6.以下有关运算符重载的表达中,正确的选项是:A运算符重载是多态的一种表现C++中能够经过运算符重载创立新的运算符C++中全部运算符都能够作为非成员函数重载重载运算符时能够改变其联合性A以下对于类定义的说法中,正确的选项是:类定义中包含数据成员与函数成员的申明类成员的缺省接见权限是保护的数据成员一定被申明为私有的成员函数只好在类体外进行定义8.成立一个有成员对象的派生类对象时,各结构函数体的履行次序为:CA.派生类成员对象类基类B.成员对象类基类派生类C.基类成员对象类派生类D.基类派生类成员对象类C++中解决命名矛盾的体制是:AA.虚基类B.虚函数C.函数重载D.名字空间10.随意一个类,析构函数的个数最多是:BA.不限个数B.1C.2D.311.在类定义中,为说明成员的接见权限,private,protected,public能够出现次数为:AA.次数没有详细限制B.每种至多一次C.public起码一次D.每种起码一次下边对于接见类A的私有数据成员的说法,错误的选项是:CA.类A的友元函数能够接见类A的私有成员。B.类A的友元类中的非静态成员函数能够接见类A的私有成员。C.类A的嵌套类中的非静态成员函数能够接见类A的私有成员。D.类A中的非静态成员函数能够接见类A的私有成员。.二、写出下边程序的运转结果(2题,每题10分)#include<iostream.h>classA{public:A( ){cout<<"<1>A::A( )"<<endl;}virtual~A( ){cout<<"<2>A::~A( )"<<endl;}virtualvoidg( ){cout<<"<3>A::g( )"<<endl;}voidh( ){cout<<"<4>A::h( )"<<endl;}virtualvoidf( ){g( );h( );}};classB:publicA{public:B( ){cout<<"<5>B::B( )"<<endl;}virtual~B( ){cout<<"<6>B::~B( )"<<endl;}virtualvoidg( ){cout<<"<7>B::g( )"<<endl;}voidh( ){cout<<"<8>B::h( )"<<endl;}virtualvoidk( ){f( );g( );h( );}};voidmain( ){b;b.k( );}#include<iostream.h>classA{public:A( ){cout<<1<<endl;}virtual~A( ){cout<<2<<endl;}virtualintAdd(intn){return0;}};classB:publicA{public:B(intn):num(n){}virtual~B( ){}virtualintAdd(intn){num+=n;returnnum;}private:intnum;};.classC:publicA{public:C(A&obj,intn):a(obj),num(n){cout<<3<<endl;}virtual~C( ){cout<<4<<endl;}virtualintAdd(intn){returna.Add(n+num);}private:A&a;intnum;};Intmain( ){b(100);c1(b,1),c2(c1,2);cout<<c2.Add(50)<<endl;return0;}三、编程题(20分)已知某程序中类MyString是自定义的一个用来描绘字符串的类,它在main函数中使用状况以下:voidmain( ){MyStrings1("Hello");MyStrings2("World!");cout<<s1.getString( )<<s2.getString( )<<endl;MyStrings3(s1);cout<<s3.getString( )<<endl;s3=s1+s2;cout<<s3.getString( )<<endl;}程序履行时,输出结果以下:HelloWorld!HelloHelloWorld!依据以下已知条件,达成对MyString类的定义和实现。1)能够使用iostream.h中定义的类及有关内容。2)能够使用string.h中定义的以下函数:intstrlen(constchar*);用于计算标准表示的字符串长度;char*strcpy(char*strDestination,constchar*strSource);用于将strSource串拷贝给strDestination。返回的是strDestination串,一般不用。char*strcat(char*strDestination,constchar*

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论