计07 面向对象程序设计 考试试卷 A卷(2009上半年).doc_第1页
计07 面向对象程序设计 考试试卷 A卷(2009上半年).doc_第2页
计07 面向对象程序设计 考试试卷 A卷(2009上半年).doc_第3页
计07 面向对象程序设计 考试试卷 A卷(2009上半年).doc_第4页
全文预览已结束

下载本文档

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

文档简介

课程名称: 面向对象程序设计 ( A卷 闭卷)适用专业年级:计算机科学与技术07级 考试时间: 100分钟题号一二三四五六七八九十总分统分人 签名题分102410261020100得分考生注意事项:1、本试卷共 3 页,试卷如有缺页或破损,请立即举手报告以便更换。 2、考试结束后,考生不得将试卷、答题纸和草稿纸带出考场。(答案请写在密封线内和纸卷正面,否则不记分)一、判断题,正确的打,错误的打(每小题1分,共10分)1在C+中,也可使用struct来声明类,但在该类中不能声明成员函数。( )2在定义二维数组时,语句“int a4=1,2,3,4;”是不正确的。( )3采用 inline 定义内联函数时,在对于函数代码少、频繁调用的情况下特别有效。( )4类中的静态成员数据为该类的所有对象所共享,并且,在该类对象被撤销时,静态成员并没有撤销。( )5构造函数和析构函数均不能被说明为虚函数。( )6char *const p 表明p是一个指针,它只能指向一个字符串常量。( )7如果派生类的继承方式是protected的,则在main( )函数中,可以通过派生类对象来访问基类的公有的成员。( )8在C+中,可以通过ofstream类对象来建立一个输出文件流。( )9在C语言中,不使用命名空间,但在C+程序中,一定要使用命名空间。( )10在MFC编程中,通过Invalidate(TRUE)可以发出重绘视图的消息。( )二、简答题(每小题8分,共24分)1什么是面向对象的程序设计?什么是简单继承?什么是多重继承?面向对象的程序设计:它的整个程序由一系列相互作用的对象构成,对象之间的交互通过发送消息来实现,对象通过响应消息来实现程序的功能。(4分)简单继承:派生类的基类只有一个的继承方法。(2分)多重继承:派生类的基类同时有多个时的继承方法。(2分)2什么是多态性?C+中,多态性是如何实现的?多态性是指:向不同的对象发送同一个消息,不同的对象在接收时会产生不同的行为(即方法)。C+中,多态性是通过指针和虚函数来实现的。3c+中,什么是函数重载?什么是运算符重载?什么是构造函数?什么是析构函数?三、填空题(每空2分,共10分)下面程序中的Create函数根据table数组中的前n个元素建立一个表头指针为Head的链表,链表中结点值的顺序与数组元素值的顺序相同。填充程序中不完整的部分,使程序完整正确。#include #include struct NODEint data;NODE * next;void Create(NODE * & Head,int table ,int n)int i;NODE *p; if(ndata = _ table0_; i=1; p=Head; while( inext _ =new NODE ; p-data= tablei ; _ i+_; _ p-next=NULL; /把最后一个结点的指针域置空 return;void main() int a10=1,2,3,4,5;NODE *H;Create(H,a,5);湖南工业大学考试试卷纸系(院) 计算机与通信学院 课程名称 面向对象程序设计 班级 姓名 学号 密封线第 1 页 共 3 页 四、阅读下面的程序,写出程序运行的结果。(共26分)1程序1(6分)#include class CStr int n; char str50; public: CStr( char *p,int len=0)int i; n=len;for (i=0;in;i+) stri=*p+;friend void GetChar(CStr &a); void GetChar(CStr &a)int i; char ch;for (i=0;i=a) & (a.stri=z)ch = a.stri+1;elsech = a.stri-1;coutch;void main() CStr a(ab23E3F!HKe33,12); GetChar(a);2. 程序2(10分)#include class Win public:virtual void shape( ) coutWinendl; void act() shape();class But: public Winpublic: virtual void shape( ) coutButshape();p1 = &b1;p1-shape();p1-act();3. 程序3(10分)#include class Studentpublic:Student ( )coutStu con.endl; Student (int a)coutStu con=aendl; Student ( )coutStu des.endl;class Teacherpublic:Teacher (int b=3)coutTea con=bendl; Teacher ( )coutTea des.endl;class ST:public Student,public Teacherpublic: ST( ) coutST con:No para.endl;ST(int a ): m2( ), Teacher (a), Student (a+5), m1(a) coutST con.endl;ST( )coutST des.(Box &b); /10行long GetV() return (L*W*H); /11行;/12行bool Box:operator ( Box &b) /13行 return ( GetV( ) b.GetV( );/14行/15行int main( )/16行 Box b1, b2; /17行 b1.W=5; /18行b2.init( );/19行b1.SetValue(1,2,3);/20行b2.SetValue(3,2,1);/21行 if (b1b2)/22行 coutb2”endl;/23行 else/24行 cout” b1b2”重载函数定义为友元函数,请写出该函数的定义(功能与上述程序一样)。(4分)六、编程题(20分)定义一个复数类Complex,它的私有数据成员(类型都是float)有real(实数), imag(虚数),公有成员函数有:GetReal(),它返回复数的实数部分;GetImag(),它返回复数的虚数部分;Complex operator +( Complex &),返回两个复数的加。该复数的构造函数原型为:Complex(float r=1.0, float i=1.0)。要求: 编写类

温馨提示

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

评论

0/150

提交评论