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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

c++面向对象程序设计试题和答案经典题目.docx

1、c+面向对象程序设计试题和答案经典题目一、 填空题(每空1分,共14分)1、 观看以下程序:class pointpublic: void show() cout”point”endl;void main()point p1;point *p;p=&p1;_p1.show()_/通过对象p1访问show函数_p.show()_/通过指针p访问show函数2、 在C+类中可以包含_公共_、_保护_和_私有_三种具有不同访问控制权的成员。3、 定义类时,在类头中将使用关键字_class _来表示类定义的开始。4、 如果一个类中至少有一个纯虚函数,则该类称为_抽象类_。5、 C+类的组成包括数据成员

2、和_成员函数_,友元_是_(是、不是)该类的成员函数。6、 友员函数是用关键字_friend_修饰的非成员函数。7、 若有:int i;int &j=i;i=10;j=i+1;则i=_11_,j=_11_。8、 new的功能是_分配内存空间_,delete的功能是_释放内存空间_。二、 选择题(每小题1.5分,共30分)1、下列特性中不是面向对象程序设计语言所特有的是( D )。(A)数据封装 (B)继承(C)多态性 (D)模板2、( B )是给变量取一个别名,它引入了变量的同意词。(A)指针 (B)引用 (C)枚举 (D)结构3、类成员的访问权限中,( )只能被本类的成员函数和其友元函数访问

3、。(A)share (B)public (C)private (D)protected4、关于构造函数,下列说法不正确的是( )。(A)构造函数名字和类名相同(B)构造函数在创建对象时自动执行(C)构造函数无任何函数返回类型(D)构造函数有且只有一个5、派生类可以访问其基类的( )。(A)公有成员(B)保护成员(C)私有派生(D)公有和保护成员6、下列关于运算符重载的描述中,错误的是( )。(A)运算符重载不可以改变操作数的个数(B)运算符重载不可以改变运算符的功能(C)运算符重载不可以改变结合方向(D)运算符重载不可以改变运算优先级7、C+语言是从早期的C语言逐渐发展演变而来的.与C语言相比

4、,它在求解问题方法上进行的最大改进是( ) (A)面向过程(B)面向对象(C)安全性(D)复用性8、对于类中定义的成员,其隐含访问权限为( )。 Apublic Bprotected Cprivate Dstatic9、下面有关重载函数的说法中正确的是( ) (A)重载函数必须具有不同的返回值类型;(B)重载函数形参个数必须不同; (C)重载函数必须有不同的形参列表 (D)重载函数名可以不同;10、有如下的对类“CSample”的说明,其中( )是错误的。class CSample Aint a=23;BCSample();public:CCSample(int val);D CSample(

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

6、e:funENDL; ; class Derived:public Base void fun() _/显示调用基类的函数fun() coutDerived:funfun();16、执行下面的程序将输出( ) #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() DERIVED a(X); retur

7、n 0; (A)XY (B)YX (C)X (D)Y17、 下面描述中,表达错误的是( ) (A)公有继承时基类中的public成员在派生类中仍是public的(B)公有继承是基类中的private成员在派生类中仍是private的 (C)公有继承时基类中的protected成员在派生类中仍是protected的 (D)私有继承时基类中的public成员在派生类中是private的18、定义析构函数时,应该注意( ) (A)其名与类名完全相同 (B)返回类型是 void 类型 (C)无形参,也不可重载 (D)函数体中必须有 delete 语句19、对于在类中定义的静态数据成员,下面正确的说法是

8、( )A.该类的每个对象中都有一个静态数据成员B.对象创建时产生 C.在类外进行初始化D.既可以在类外初始化,也可以在类内初始化20、C+中声明常量的关键字是( )。A. const B. extern C. public D. enum三、 改错题(每处2分,共6分)1、 使用VC6打开考生文件夹下的工程proj1,此工程包含一个源程序文件main.cpp,但该程序运行有问题,请改正main函数中的错误,使程序的输出结果为: member=0 member=5 menber=10 源程序文件main.cpp清单如下: #include classMyClass public: MyClass

9、(inti)member=i; voidSetMember(intm)member=m; intGetMember()constreturnmenber; voidprint()contcoutmember=MEMBERENDL; private: intmember; ; voedmain() MyClassobj1; /更正_ obj1.print(); MyClassobj2(3); obj1.member=5; /更正_ MyClass.SetMember(10); /更正_ obj1.print(); obj2.print(); 四、 写出下列程序的执行结果(每小题5分,共20分)1

10、、 #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; 执行结果是:2、 #include int add(int x,int y) return x+y+1; double add(double x,double y) return x+y-1; vo

11、id main() int a=2,b=4; double c=2.6,d=7.4; coutadd(a,b),add(c,d)endl; 执行结果是:3、#include class A public: int n; ; class B:virtual public A; class C:virtual public A; class D:public B,public C int getn()return B:n; ; void main() D d; d.B:n=10; d.C:n=20; coutd.B:n,d.C:nendl; 执行结果是: 4、#include class mycl

12、ass int a,b;static int s; public:myclass(int x,int y)a=x;b=y;s+;void print()coutsshow() (2)公有、私有、保护 (3)class (4)抽象类 (5)成员函数、不是 (6)friend (7)11、11 (8)动态申请内存空间、释放由new申请的空间 二、 选择题(每小题1.5分,共30分)1、D 2、B 3、C 4、D 5、D 6、B 7、B 8、C 9、C 10、A 11、D 12、C 13、D 14、B 15、C 16、A 17、B 18、C 19、C 20、A三、 改错题(每错2分,共6分)MyCl

13、ass obj1(0); obj1.SetMember(5); obj2.SetMember(10);四、 写出下列程序的执行结果(每小题5分,共20分)(1)30 (5分)(2)7 9 (每个2.5分)(3)20 20 (每个2.5分)(4)3(2分)3(2分)3(1分)五、 编程题(每题10分、共30分)1、#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;x

14、2=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、(10分)#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 car /(1分)pr

15、ivate: int weight; (1分)public: car(int w):weight(w); friend int totalweight(boat b1,car c1); (1分);int totalweight(boat b1,car c1) /(1分) return b1.weight+c1.weight;void main() car c1(1000); boat b1(2000); couttotalweight(b1,c1)endl;(1分)3、(10分)#include class vehicle / 定义汽车类 (3分) protected: int wheels;

16、 / 车轮数 float weight; / 重量 public: vehicle(int wheels,float weight); int get_wheels(); float get_weight(); float wheel_load(); void show(); ; class car:public vehicle / 定义小车类 (3分) int passenger_load; / 载人数 public: car(int wheels,float weight,int passengers=4); int get_passengers(); void show(); ; veh

17、icle:vehicle(int wheels1,float weight1) /(1分) wheels=wheels1; weight=weight1; int vehicle:get_wheels() return wheels; float vehicle:get_weight() return weight; void vehicle:show() (1分) cout 车轮: wheels 个 endl; cout 重量: weight 公斤 endl; car:car(int wheels, float weight, int passengers) :vehicle(wheels, weight) passenger_load=passengers; int car:get_passengers () return passenger_load; void car:show() cout 车型:小车 endl; vehicle:show(); cout 载人: passenger_load 人 endl; cout endl; void main () car car1(4,2000,5); (1分)cout 输出结果 endl; car1. show (); (1分)

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

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