C考试题和答案_第1页
C考试题和答案_第2页
C考试题和答案_第3页
C考试题和答案_第4页
C考试题和答案_第5页
已阅读5页,还剩3页未读 继续免费阅读

付费下载

下载本文档

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

文档简介

1、密 封 线 内 不 要 答 题郑州轻工业学院2009/2010 学年 第1学期C+试题A注意!将答题纸拆下,在试卷和答题纸上均写上专业、 班级、姓名、 学号,并分开上交。将答案写在答题纸上,写在其它地方无效。一、单项选择题(每道选择题只有一个正确答案;共15小题,每小题2分,共计30分)1. 下列运算符种,()运算符在C+中不能重载。A) B ) C ) ? : D ) &2. C+源程序文件的扩展名为()。A) .EXE B ) .C C ) .DLL D ) .CPP3. 下列关于动态联编的描述中,错误的是()。A)动态联编是以虚函数为基础的B)动态联编是在运行时确定所调用的函数代码的C)

2、动态联编调用函数操作是指向对象的指针或对象引用D)动态联编是在编译时确定操作函数的4. 下面的函数声明中,哪一个是” void BC(int a, int b);的重载函数()。A) int BC(int x, int y);B)void BC(int a, char b );C)float BC(int a, int b, int c=0);D)int BC(int a, int b = 0);5. 对类的构造函数和析构函数描述正确的是()。A)构造函数可以重载,析构函数不能重载B)构造函数不能重载,析构函数可以重载C)构造函数可以重载,析构函数也能重载D)构造函数不能重载,析构函数也不能重

3、载6. C+中类有两种用法:一种是类的实例化,即生成类的对象,并参与系统的运行;另一种是通过() 派生出的新类。A)复用 B )继承 C )封装 D )引用7 .在下面的4个选项中,()是用来声明虚函数的。A) virtual B) public C) using D) false&下面对于友元函数的描述是正确的是(A)友元函数的实现必须在类的内部定义B)友元函数是类的成员函数C)友元函数破坏了类的封装性和隐藏性D)友元函数不能是访问类的私有成员9假定MyClass为一个类,则该类的拷贝初始化构造函数的声明语句是()。A) MyClass(MyClass x); B ) MyClass(con

4、st MyClass x);C) MyClass(MyClass *x); D ) MyClass(MyClass &x);10. 下面是关于ios类的叙述,正确的是()。A)它是istream 类和ostream 类的虚基类B)它只是istream类的虚基类C)它只是ostream类的虚基类D)它是iostream类的虚基类11在函数声明中,()是不必要的。A)函数参数的类型和参数名B )函数体 C )函数的类型 D )函数名12类的析构函数的作用是A) 一般成员函数 B )类的初始化 C )对象的初始化 D )释放对象所占有的资源(如内存) 13对于常数据成员,下面描述正确的是()。A)常

5、数成员可以不初始化,并且不能更新B)常数成员必须被初始化,并且不能更新C)常数成员可以不初始化,并且可以被更新D)常数成员必须被初始化,并且可以被更新14. 下列对模板的声明,正确的是()。A) template B) templateC) template D) template 15. 当使用fstream流类定义一个流对象并打开一个磁盘文件时,文件的隐含打开方式为(A) ios:in B ) ios:out C ) ios:in | ios:out D)没有二、填空题(共14小题,30空,每空1分,共30分)1在定义类的对象时,C+程序将自动调用该对象的 函数初始化对象本身。2. 带有的

6、类称为抽象类,它 (能/不能)被实例化。3. 若类Y是类X的私有派生类,类 Z是类Y的派生类,则类 Z访问类X的保护成员。4. 具有相同函数名但具有不同的参数表的函数称为 。5若要把一个函数定义为一个类的友元,则应在函数的声明前加上标识。6.静态整型变量的初始值是 。7 .假如有以下的定义:int x ;若要将整型变量 y定义为变量 x的引用,则应使用的定义语句&在C+程序中,使用基本的输入输出流所包含的头文件是 。9. C+中 (支持/不支持)虚析构函数。10 .对一个类中的数据成员的初始化可以通过构造函数中的 实现,也可以在构造函数的中实现。11. 类中成员的访问权限有 、,默认的访问权限

7、为 。12. 类继承中,继承方式有 、,默认的继承方式为 。13. 类中可被系统默认创建的函数有 、。14. C+有两种形式的多态性。一种是编译时的多态性,称为 ,是通过重载机制来实现的,重载包括和;第二种是运行时的多态性, 也称为,是通过和来实现的。三、简答题(共3小题,每小题5分,共15分)1 .写出关键字const的用法和作用。2 说明拷贝构造函数的调用时机。3.写出下列程序的运行结果:#in elude class Complexpublic:double real, image;Complex(double r=0, double i=0) real=r; image=i; void

8、 Prin t();Complex operator+(Complex complex);void Complex:Pri nt()if(image0) coutrealimage i;else coutreal + image i;Complex Complex:operator+(Complex complex)return Complex t(real+complex.real, image+complex.image);void mai n(void)Complex c1(25,50), c2(100,200), c3;cout ” c1 = ” ;c1.Pri nt();cout ”

9、 c2= ” ;c2.Pri nt();c3=c1+c2;cout ” c3=c1+c2=” ;c3.Pri nt();c1= C1+200;coutx=x; this-y=y; double Dista nce(c onst Point &p);double Poin t:Dista nce(c onst Point &p)return sqrt(x*p.x, + y*p.y);2、/ String的析构函数String:String(void)共 2 分delete m_data; /由于m_data是内部数据类型,也可以写成delete m_data;/ String的普通构造函数Str

10、ing:String(const char *str = NULL)if (str = NULL)m_data = new char1;*m_data = 0:elseint len gth = strle n( str);m_data = new charle ngth+1; strcpy(m_data, str);共5分/若能加NULL判断则更好/若能加NULL判断则更好/拷贝构造函数String:String(const String & other) 共 2 分int len gth = strle n( other.m_data);m_data = new charlength+1;/ 若能加 NULL 判断则更好strcpy(m_data, other.m_data);/赋值函数String & String:operator = (const String &other) / 共 6 分/ (1)检查自赋值/ 1分if(this = & other) return *this;/ (2)释放原有的内存资源delete m_data;/ (3)分配新的内存资

温馨提示

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

评论

0/150

提交评论