版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、课程面向对象程序设计考试形式(开/闭卷,考试/查)一、填空题:(10分,每个空格1分)1.C+语言面向对象程序设计的三个基本特性是 数据封装 、 继承 、 多态性 。2.类的数据隐藏是通过定义成员为 私有(或private) 或 受保护(或protected) 来实现。3.创建一个派生类的对象时,如果基类带有构造函数则先调用 基 类的构造函数,然后调用 派生类 类的构造函数。4.如果在派生类中定义了一个成员函数,其函数原型与从父类继承下来的成员函数的函数原型完全相同的,那么该函数的实现称为是对 父类 同名函数的 重定义 。5.在C+语言中,根据除号“/”左右操作数的类型自动确定其是整除或是一般
2、除法,这种机制称为 运算符重载 。二是非题(回答“Y”或“N”, 10分,每小题1分)1.类的protected成员是不能被继承的。N2.构造函数的名字不必与类的名字相同。N3.一个类的友员函数可以使用该类的私有成员。Y4.符号不能重载。N5.析造函数原型没有返回类型。Y6.类TEST的函数成员TEST(const TEST & obj)称为拷贝构造函数。Y7.类B继承了类A,二个类都有public成员void show(),则派生类的void show()覆盖了基类的void show()。Y8.函数重载是动态绑定。N 9.类模板不能直接生成对象。Y10.类属函数的实例化是隐式。Y三选择题
3、(20分,每空2分)1.设有一显示2个整数相加或2个实数相加或2个字符串相加(连)的函数,请运用函数重载方法设计此函数add( ),并设计一个主函数调用它。int sdd( (1) B )return x+y;double add( (2) A )return x+y;char * add( (3) D )char *str;str=new char(strlen(x)+strlen(y)+1);strcpy(str,x);strcat(str,y);return str;int main(int argc, char* argv)coutadd(10,20)endl;coutadd(10.1
4、0,20.20)endl;coutadd(abc,fghi)endl;return 0;(1)A、int x , double yB、int x , int yC、double x , int yD、char * x , int y(2)A、double x , double yB、int x , int yC、int x , double yD、float x , int y(3)A、char x , double yB、int x , float yC、double x , double yD、char * x , char * y2. 创建一个学生类,数据成员包括:学号、姓名、成绩;成员
5、函数包括:构造函数、输入数据函数、显示函数和取成绩。主函数默认1位同学数据,输入1位同学数据,显示这2位同学的数据。class STUDENTprivate: int num;char name20;float score; (4) C :STUDENT()num=0;strcpy(name,”);score=0;STUDENT( (5) B x , char * (6) C , (7) D )num=x;strcpy(name,y);score=z;void input() coutnumnamescore; void print() coutn学号、姓名、成绩: (8) C ; (9) C
6、 get_score() return score; ;void main()STUDENT stu1(1001,”李明”,90),stu2;stu2. (10) D ;stu1.print();stu2.print();(4)A、privateB、protectedC、publicD、struct(5)A、charB、intC、floatD、double(6)A、iB、xC、yD、z(7)A、int iB、double yC、char *zD、float zA、name 、num 、 score ;B、name 、 score 、 num ;C、num 、 name 、 score ; D、
7、num 、 score 、name ;(9)A、charB、intC、floatD、double(10)A、name=“张三”B、num=1002C、score=98D、input()四阅读程序,写出下列程序的运行结果 (40分,每小题4分)1. 指出程序中的错误class Inventorychar name20;int quantity;float price;void init(char n,int p,int q);void printInv();void main()Inventory p1,p2,p3;p1.quantity=28;2. 指出程序中的错误class COMPLEX
8、public : COMPLEX(double r=0, double i=0) ; COMPLEX operator-(const COMPLEX & other) ; COMPLEX operator=(const COMPLEX & other) ;private : double real, image ;void main()float x ; COMPLEX y (10,20), z (2,3), sum ; sum= x-y ; sum=sum-z ; sum- ;3. 写出下列程序的运行结果class A public:int n; ; class B:public A; cl
9、ass C: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; 10,204. 写出下列程序的运行结果class BASEprivate:char c; public: BASE(char n):c(n) virtualBASE()coutc; ; class DERIVED:public BASEprivate:char c; public: DERIVED(char n):BASE(n+1),c(n) DER
10、IVED()coutc; ; int main() DERIVED obj(X); return 0; XY5. 写出下列程序的运行结果class pointprivate:int x1,x2;public:point(int x,int y) x1=x; x2=y; int x_cord() return x1; int y_cord() return x2; ;void main()point data(5,6);coutdata.x_cord() data.y_cord()endl;5 66. 写出下列程序的运行结果class Apublic : A(int n) i=n ; cout“
11、初始化i的值为:”get_i()n; A() cout“释放A的对象。”n ; int get_i () return i ; private : int i ; ;class B : public A public : B(int n, int m) : A(n)j=m ; cout“初始化j的值为:”get_j()n ; B()cout“释放B的对象。”n ; int get_j () return j ; private : int j ; ;void main()B obj (1,2) ; cout“创建了一个B的对象。值为:”obj.get_i()“ ”obj.get_j()n ;初
12、始化i的值为:1初始化j的值为:2创建了一个B的对象。值为:1 2释放B的对象。释放A的对象。7、写出下列程序的运行结果class Test;void fun1(Test t);Test fun2();class Testpublic:Test(int n=1) val=n; coutCon.endl;Test(const Test& t) val=t.val; coutCopy con.endl;Test& operator = (Test& t) val=t.val; coutAssignment.endl;return *this;private:int val;void main()T
13、est t1(1);Test t2=t1;Test t3;t3=t1;fun1(t2);t3=fun2();void fun1(Test t)Test fun2()Test t;return t;Con.Copy con.Con.Assignment.Copy con.Con.Copy con.Assignment.8、写出下列程序的运行结果class Apublic:A()coutAs con.endl;A()coutAs des.endl;class Bpublic:B()coutBs con.endl;B()coutBs des.endl;class C:public A,public
14、Bpublic:C():member(),B(),A()coutCs con.endl;C()coutCs des.endl;private:A member;void main()C obj; As con.Bs con.As con.Cs con.Cs des.As des.Bs des.As des.9、写出下列程序的运行结果class Rpublic:R(int r1,int r2) R1=r1;R2=r2;void print();void print() const;private:int R1,R2;void R:print()coutR1:R2endl;void R:print
15、() constcoutR1;R2endl;void main()R a(5,4);a.print();const R b(20,52);b.print(); 5:420;5210、写出下列程序的运行结果class A public:virtual void act1();void act2() act1();void A:act1()coutA:act1() called. endl;class B : public Apublic:void act1();void B:act1()coutB:act1() called. endl;void main()B b; b.act2();B:ac
16、t1() called.五编程题 ( 20分,每题10分)1、编写一程序,定义一个合子类BOX,它能提供计算合子的体积和表面积。class BOXpublic:BOX()length=0;width=0;height=0;BOX(double l,double w,double h)length=l;width=w;height=h;void GetValue(double l,double w,double h)length=l;width=w;height=h;double bulk()return ( length * width * height);double sufasearea(
17、)return ( 2*(length * width + length * height + width * height);private:double length,width,height;void main()BOX a(10,20,30);couta盒子的体积:a.bulk()endl;couta盒子的表面积:a.sufasearea()endl;2、设计一个点类Point(只需数据成员和成员函数原型,不需写函数定义),实现点对象之间的各种运算。 class Point private:int x,y; public:Point(); Point(int i,int j); Poi
18、nt(Point &); Point();void offset(int,int); / 提供对点的偏移 void offset(Point); / 重载,偏移量用Point类对象表示 bool operator=(Point); / 运算符重载,判断两个对象是否相同 bool operator!=(Point); / 运算符重载,判断两个对象是否不相同 void operator+=(Point); /运算符重载,将两个点对象相加 void operator-=(Point); / 运算符重载,将两个点对象相减 Point operator+(Point ); / 运 算符重 载,相加并将结果放在左操作数中 Point operator-(Point); / 运算符重载,相减并将结果放在左操作数中
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年云南省开远市高二生物下册期末考试测试卷附参考答案(综合卷)
- 2025年江苏省新沂市高二生物下册期末考试考试卷含答案(培优A卷)
- 2026年江西省乐平市高二生物下册期末考试检测卷附答案(模拟题)
- 2026年浙江省诸暨市高二生物下册期末考试试卷及参考答案(典型题)
- 2026年湖南省汨罗市高二生物下册期末考试考试卷附答案(A卷)
- 2026年吉林省珲春市高二生物下册期末考试模拟卷附参考答案【完整版】
- 2025年湖北省汉川市高二生物下册期末考试试卷【典型题】附答案
- 2026年山东省栖霞市高二生物下册期末考试模拟卷(能力提升)附答案
- 2026年湖北省天门市高二生物下册期末考试测试卷汇编附答案
- 2026年四川省马尔康市高二生物下册期末考试测试卷重点附答案
- 2025年遴选教育事业真题及答案
- 2026年山东省中考数学试卷(含答案及解析)
- 2026年高考真题-数学(全国二卷) 含解析
- 《商务数据采集与处理》课件 第1节:采集基础
- (2026版)《超龄劳动者基本权益保障暂行规定》解读课件
- 2026年汽修专业考试试题及答案
- 2026年湖北省路桥工程专业技术职务水平能力测试(工程规划与咨询副高级)练习试题及答案
- 福建省厦门市2026届初中毕业年级二模考试物理试卷(含解析)
- 2026年医疗器械生产质量管理规范培训试题及答案
- 2025河南省中考题数学试题(原卷版)
- 清华大学2026年强基计划面试模拟试题及答案解析
评论
0/150
提交评论