欢迎来到冰点文库! | 帮助中心 分享价值,成长自我!
冰点文库
全部分类
  • 临时分类>
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • ImageVerifierCode 换一换
    首页 冰点文库 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    完整版C++语言程序设计期末考试综合练习Word下载.docx

    • 资源ID:6155183       资源大小:33.55KB        全文页数:47页
    • 资源格式: DOCX        下载积分:3金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    二维码
    微信扫一扫登录
    下载资源需要3金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    完整版C++语言程序设计期末考试综合练习Word下载.docx

    1、B.A1-p=5C.A1.*p=5D.*A1.p=511.在int b3=1,3,2,4,5,6,0;中,数组元素a22的值是_。 A)0 B)5 C)6 D)212.指针可以用来表示数组元素,下列表示中_是错误的。int a37; A)*(a+1)5 B)*(*a+3) C)*(*(a+1) D)*(&a00+2)13. 所谓数据封装就是将一组数据和与这组数据有关操作组装在一起,形成一个实体,这实体 也就是() A. 类 B. 对象 C. 函数体 D. 数据块14.在int a=3,*p=&A中,*p的值是_。 A)变量a的地址值 B)无意义 C) 变量p的地址值 D)315.已知f1(in

    2、t)是类A的公有成员函数,p是指向成员函数f1()的指针,采用_是正确的。 A.p=flB.P=A:flC.P=A:fl()D.p=f1()16.假定MyClass为一个类,则执行MyClass a,b(2),*p; 语句时,自动调用该类构造函数_4_次。A)2 B)3 C)4 D)517.在C+中,数据封装要解决的问题是_。 A)数据的规范化 B)便于数据转换 C)避免数据丢失 D)防止不同模块之间数据的非法访问18.一个类的友元函数或友元类能够通过成员操作符访问该类的_。 A)私有成员 B)保护成员 C)公用成员 D)所有成员19.已知一个类A,_是指向类A成员函数的指针。假设类有三个公有

    3、成员:voidf1(int),void f2(int)和int a。A.A *pB.int A:*pc=&A:aC.void A:*paD.A *pp 20.运算符-*的功能是_。 A用来表示指向对象指针对指向类成员指针的操作 B用来表示对象对指向类成员指针的操作 C用来表示指向对象指针对类成员的操作D用来表示对象类成员的操作21._不是面向对象系统所包含的要素。 A)重载 B)对象 C)类 D)继承22.假定MyClass为一个类,则该类的拷贝初始化构造函数的声明语句为_ 。 A)MyClass&(MyClass x); B)MyClass(MyClass x) C)MyClass(MyCl

    4、ass& x); D)MyClass(MyClass *x)23.已知:类A中一个成员函数说明如下:void Set(A & a); 其中,A & a的含义是_。 A指向类A的指针为a B将a的地址值赋给变量Set Ca是类A的对象引用,用来作函数Set()的形参 D变量A与a按位相与作为函数Set()的参数24.下面对静态数据成员的描述中,正确的是_。 A)静态数据成员是类的所有对象共享的数据 B)类的每个对象都有自己的静态数据成员 C)类的不同对象有不同的静态数据成员值 D)静态数据成员不能通过类的对象调用25.下列关于对象数组的描述中,_是错误的。 A. 对象数组的下标是从0开始的 B对

    5、象数组的数组名是一个常量指针 C对象数组的每个元素是同一个类的对象 D对象数组只能赋初值,而不能在定义后赋值 26.对类的构造函数和析构函数描述正确的是_ 。 A)构造函数可以重载,析构函数不能重载 B)构造函数不能重载,析构函数可以重载 C)构造函数可以重载,析构函数也可以重载 D)构造函数不能重载,析构函数也不能重载27.类的析构函数的作用是_。A)一般成员函数 B)类的初始化 C)对象的初始化 D)删除对象28.为了使类中的某个成员不能被类的对象通过成员操作符访问,则不能把该成员的访问 权限定义为_。 A)public B)protected C)private D)static29.类

    6、MyClass的定义如下:class MyClasspublic: MyClass() value = 0; SetVariable(int i) value = i; private: int value; 则对下列语句序列正确的描述是_。 MyClass *p,my; p=&my; A)语句p=&是把对象my赋值给指针变量p B)语句MyClass *p,my;会调用两次类MyClass的构造函数 C)对语句 *p.SetVariable(5)的调用是正确的D)语句p-SetVariable(5)与语句my.SetVariable(5)等价30.对于拷贝构造函数,正确的描述是_。 A)在C

    7、+语言中,如果不自定义类的拷贝构造函数,则每个类都有默认的拷贝构造函数 B)必须为每个类定义拷贝构造函数 C)如果要使用拷贝构造函数,则必须在类中先定义 D)当定义了类的构造函数时,如果要使用拷贝构造函数,则必须定义拷贝构造函数31.类MyClass的定义如下: MyClass( ) MyClass(int i) value = new int(i); int* value;若要对 value赋值, 则下面语句正确的是:A) MyClass my; my.value = 1000;B) MyClass my; *my.value = 1000;C) MyClass my; my.*value

    8、= 1000;D) MyClass my(lO);32.下面对于友元函数描述正确的是_。 A)友元函数的实现必须在类的内部定义 B)友元函数是类的成员函数 C)友元函数破坏了类的封装性和隐藏性 D)友元函数不能访问类的私有成员33.对于下面定义的类MyClass,在函数f()中将对象成员n的值修改为50的语句应该是_。 MyClass(int x) n = x; void SetNum(int nl) n =nl; int n;int f( ) MyClass *ptr = new MyClass(45); _A) MyClass(50) B) SetNum(50) C) ptr-SetNum

    9、(50) D) ptr-n = 5034.下面是类MyClass的定义,对定义中语句描述正确的是_。 void MyClass(int a) X = a; / int f(int a, int b) / X=a; Y=b; int f(int a, int b, int c = O) / Z=c; static void g() X=10; / int X, Y, Z;A语句是类MyClass的构造函数定义B语句和语句实现类成员函数的重载C语句实现对类成员变量X的更新操作D语句和都不正确, 和有二义。35.对于拷贝构造函数和赋值操作的关系,正确的描述是_。 A)拷贝构造函数和赋值操作是完全一样

    10、的操作 B)进行赋值操作时,会调用类的拷贝构造函数 C)当调用拷贝构造函数时,类的对象正在被建立并被初始化 D)拷贝构造函数和赋值操作不能在同一个类中被同时定义36.对下列语句正确的描述是 。 const int *x; / int *const x; / A)语句的含义是指针变量x不能更改 B)语句的含义是指针变量x所指向的值不能更改 C)语句的含义是指针变量x不能更改 D)语句和是相同含义的不同定义方式37.有如下定义语句:int a=1,2,3,4,5;,则对语句int *p=a;正确的描述是_。 A)语句int *p=a;定义不正确 B)语句int *p=a;初始化变量p,使其指向数组

    11、对象a的第一个元素 C)语句int *p=a;是把a0的值赋给变量p D)语句int *p=a;是把a1的值赋给变量p38.关于new运算符的错误的描述是_。 A)使用运算符new创建对象数组时必须定义初始值 B)使用运算符new创建对象时,会调用类的构造函数 C)运算符new可以用来动态创建对象和对象数组 D)使用new运算符创建的对象可以使用运算符delete删除39. 关于this指针使用说法正确的是() A. 保证每个对象拥有自己的数据成员,但共享处理这些数据的代码 B. 保证基类私有成员在子类中可以被访问。 C. 保证基类保护成员在子类中可以被访问。 D. 保证基类公有成员在子类中可

    12、以被访问。二 写出下列程序的运行结果写出下列程序的运行结果1. #include class Tdate Tdate(int m=11,int d=8,int y=2016) month=m; day=d; year=y; cout month / day year endl;protected: int month; int day; int year;void main() Tdate aday; Tdate bday(8); Tdate cday(12,7); Tdate dday(7,23,2017);2class Sample public: Sample() for (int i=

    13、0;i8;i+) cout #; endl; Sample (char c) for (int i=0;12; c; Sample(int n, char c) =n; i+) Sample cl,c2(6,B),c3(8,);3class Widget public: Widget() -count; Widget() +count; int numWidgets() return count; private: static int count; /静态数据成员int Widget:count = 0; /初始化在类体外进行 Widget w, x;Now there are w.numW

    14、idgets() widgets.n Widget w, x, y, z; /退出复合语句时四个对象被destroyed Widget y;4class test int x; test(int i=0):x(i) virtual void fun1() cout test:xxclass ft:public test int y; void fun1()cout ft:y=yclass Point /用初始化表列编写构造函数x-x_,y-y_,z-z_。 Point(float x=0, float y=0, float z=0): x_(x), y_(y), z_(z) Point(con

    15、st Point& p) : x_(p.x_), y_(p.y_), z_(p.z_) /形参point为常引用,它所引用的对象不能被更新, /即传给它的实参不能被更新 。 void negate() x_ *= -1; y_ *= -1; z_ *= -1; double norm() return sqrt(x_*x_ + y_*y_ + z_*z_); void print() cout ( x_ , y_ z_ ) /赋值运算符“=”重载成员函数声明,定义在类的外部 Point& operator=(const Point& point); /关系运算符“=”重载成员函数定义 bool

    16、 Point:operator=(const Point& point) const /常成员函数,只有它才有资格操作常量和常对象 return x_ = point.x_ & y_ = point.y_ & z_ = point.z_; /关系运算符“!=”重载成员函数定义operator!=(const Point& return x_ != point.x_ | y_ != point.y_ | z_ != point.z_; /friend Point operator+(const Point& p1, const Point& p2); Point operator+(const

    17、Point& p) return Point(x_+p.x_,y_+p.y_,z_+p.z_); /运算符“-”重载友元函数声明,定义在类的外部 friend Point operator-(const Point& /算符“”重载友元函数声明,定义在类的外部 friend ostream& operator(ostream& ostr, const Point& float x_, y_, z_;/Point operator+(const Point& p2)/ return Point(p1.x_+p2.x_,p1.y_+p2.y_,p1.z_+p2.z_);/Point operato

    18、r-(const Point& return Point(p1.x_-p2.x_,p1.y_-p2.y_,p1.z_-p2.z_);ostream& point) return ostr ( point.x_ point.y_ point.z_ /赋值运算符“=”重载成员函数定义Point& Point:operator=(const Point& x_ = point.x_; y_ = point.y_; z_ = point.z_; return *this; Point p(1,-3,4),q(5,2,8),r1,r2; r1=p+q; coutr1r1.norm() r2=p-q+r1

    19、;r2r2.norm() if(r1=r2)cout r1=r2 else cout r1!=r26 int x,y; Point(int x1,int y1) x=x1;y=y1; virtual int area() const return 0;class Rect:public Point int l,w; Rect(int x1,int y1,int l1,int w1):Point(x1,y1) l=l1;w=w1; virtual int area() const return l*w;void fun(Point &p) p.area() a; if(_) a=a+i;a2下面

    20、的类中定义了一个关于星期的枚举类型,请完成下面的程序。 class MyClass enum Week Sun,Mon,Tue,Wed,Thur,Fri,Sat ; Week week;void fun(MyClass &my) _= _; /将对象my的week赋值为所定义的枚举类型 /值为3的枚举量3 class Test_;Test (int i=0)x=i+x;int Getnum()return Test:x+7;_;Test test;couttest.Getnum()4下面的类定义了拷贝构造函数,请完成该类的定义和实现。MyClass(int xx = 0, int yy = 0) X = xx; Y = yy;_; /拷贝构造函数 int X, Y;myClass:_ /拷贝构造函数的实现X=_; 5 完成下面的类定义。 MyClass( ) x = 0; _ int GetNum(_ my); int x;int GetNum(_ my)


    注意事项

    本文(完整版C++语言程序设计期末考试综合练习Word下载.docx)为本站会员主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2023 冰点文库 网站版权所有

    经营许可证编号:鄂ICP备19020893号-2


    收起
    展开