ImageVerifierCode 换一换
格式:DOCX , 页数:12 ,大小:19.16KB ,
资源ID:1968735      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/1968735.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(C++复习题上课讲义.docx)为本站会员(b****2)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

C++复习题上课讲义.docx

1、C+复习题上课讲义C+复习题一、 填空题1、 观看以下程序:class pointpublic: void show() cout”point”show()_/通过指针p访问show函数2、 在C+类中可以包含(公有)、(私有)和(保护)三种具有不同访问控制权的成员。3、 定义类时,在类头中将使用关键字(class)来表示类定义的开始。4、 如果一个类中至少有一个纯虚函数,则该类称为(抽象类)。5、 C+类的组成包括数据成员和(成员函数),友元_不是_(是、不是)该类的成员函数。6、 友员函数是用关键字_friend_修饰的非成员函数。7、 若有:int i;int &j=i;i=10;j=i

2、+1;则i=(11),j=(11)。8、 new的功能是(动态申请内存空间),delete的功能是(释放)。二、 选择题1、下列特性中不是面向对象程序设计语言所特有的是(D 模版)。(A)数据封装 (B)继承(C)多态性 (D)模板2、( B引用 )是给变量取一个别名,它引入了变量的同意词。(A)指针 (B)引用 (C)枚举 (D)结构3、类成员的访问权限中,(C private)只能被本类的成员函数和其友元函数访问。(A)share (B)public (C)private (D)protected4、关于构造函数,下列说法不正确的是(D构造函数且只有一个)。(A)构造函数名字和类名相同(B

3、)构造函数在创建对象时自动执行(C)构造函数无任何函数返回类型(D)构造函数有且只有一个5、派生类可以访问其基类的( D公有和保护成员 )。(A)公有成员(B)保护成员(C)私有派生(D)公有和保护成员6、下列关于运算符重载的描述中,错误的是( B运算符重载不可以改变运算符的功能 )。(A)运算符重载不可以改变操作数的个数(B)运算符重载不可以改变运算符的功能(C)运算符重载不可以改变结合方向(D)运算符重载不可以改变运算优先级7、C+语言是从早期的C语言逐渐发展演变而来的.与C语言相比,它在求解问题方法上进行的最大改进是( B面向对象 ) (A)面向过程(B)面向对象(C)安全性(D)复用性

4、8、对于类中定义的成员,其隐含访问权限为( Cprivate )。 Apublic Bprotected Cprivate Dstatic9、下面有关重载函数的说法中正确的是( C重载函数必须有不同的形参列表 ) (A)重载函数必须具有不同的返回值类型;(B)重载函数形参个数必须不同; (C)重载函数必须有不同的形参列表 (D)重载函数名可以不同;10、有如下的对类“CSample”的说明,其中( Aint a=23 )是错误的。class CSample Aint a=23;BCSample();public:CCSample(int val);D CSample();11、在int a=3

5、,int *p=&a;中,*p的值是(D.3 )A.变量a的地址值 B.无意义C.变量p的地址值 D.312、每个类(C可以有多个 )构造函数。 (A)只能有一个 (B)只可有公有的 (C)可以有多个 (D)只可有缺省的13、在一个类中可以对一个操作符进行( D多种)重载。 (A)1 种 (B)2 种以下 (C)3 种以下 (D)多种14、在公有继承的情况下,基类非私有成员在派生类中的访问权限(B保持不变 )(A) 受限制 (B)保持不变 (C)受保护 (D)不受保护15、应在下列程序划线处填入的正确语句是(C Base:fun() )#include class Base public: f

6、un()coutBase:funENDL; ; class Derived:public Base void fun() _/显示调用基类的函数fun() coutDerived:funfun();16、执行下面的程序将输出(A .XY ) #include class BASE char c; public: BASE(char n):c(n) virtual BASE()coutc; ;class DERIVED:public BASE char c; public: DERIVED(char n):BASE(n+1),c(n) DERIVED()coutc; int main() DER

7、IVED a(X); return 0; (A)XY (B)YX (C)X (D)Y17、 下面描述中,表达错误的是(B.公有继承是基类中的private成员在派生类中仍是private的 ) (A)公有继承时基类中的public成员在派生类中仍是public的(B)公有继承是基类中的private成员在派生类中仍是private的 (C)公有继承时基类中的protected成员在派生类中仍是protected的 (D)私有继承时基类中的public成员在派生类中是private的18、定义析构函数时,应该注意( C)无形参,也不可重载 ) (A)其名与类名完全相同 (B)返回类型是 void

8、 类型 (C)无形参,也不可重载 (D)函数体中必须有 delete 语句19、对于在类中定义的静态数据成员,下面正确的说法是( C.在类外进行初始化 )A.该类的每个对象中都有一个静态数据成员B.对象创建时产生 C.在类外进行初始化D.既可以在类外初始化,也可以在类内初始化20、C+中声明常量的关键字是(A. const )。A. const B. extern C. public D. enum三、 改错题1、 使用VC6打开考生文件夹下的工程proj1,此工程包含一个源程序文件main.cpp,但该程序运行有问题,请改正main函数中的错误,使程序的输出结果为: member=0 源程序

9、文件清单如下: /更正_MyClass obj1(0)_ /更正_obj1.SetMember(5)_ /更正_obj2.SetMember(10)_ 四、 写出下列程序的执行结果1、 #include class Sample int n; public: Sample(int i)n=i; friend int add(Sample &s1,Sample &s2); ; int add(Sample &s1,Sample &s2) return s1.n+s2.n; void main() Sample s1(10),s2(20); coutadd(s1,s2)endl; 执行结果是:30

10、2、 #include int add(int x,int y) return x+y+1; double add(double x,double y) return x+y-1; void main() int a=2,b=4; double c=2.6,d=7.4; coutadd(a,b),add(c,d)endl; 执行结果是:7 93、#include class A public: int n; ; class B:virtual public A; class C:virtual public A; class D:public B,public C int getn()retu

11、rn B:n; ; void main() D d; d.B:n=10; d.C:n=20; coutd.B:n,d.C:nendl; 执行结果是:20 20 4、#include class myclass int a,b;static int s; public:myclass(int x,int y)a=x;b=y;s+;void print()coutsendl; int myclass:s=0; void main() myclass m1(1,2),m2(4,5),m3(6,7); m1.print(); m2.print(); m3.print();执行结果是:3 /n 3 /n

12、 3/n五、 编程题1、 测试一个名为rectangle的矩形类,其属性为矩形的左下角与右上角两个点的坐标,能计算矩形的面积。#include #include class rectangle /(2分)private: int x1,y1,x2,y2; / (2分)public: rectangle(int xx1,int yy1,int xx2,int yy2) /(1分) x1=xx1;y1=yy1;x2=xx2;y2=yy2; int getarea() /(2分) return abs(x2-x1)*(y1-y2); ;void main() rectangle rect1(3,7,8,5); (2分) coutrect1.getarea()endl; (1分)2、 定义一boat与car两个类,二者都有weight属性,定义二者的一个友元函数totalweight(),计算二者的重量和。#include class car;(1分)class boat private: int weight; /(1分)public: boat(int w):weight(w) /(1分) friend int totalweight(boat b1,car c1); /(2分);class

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1