东南大学C++下期末考试笔试卷.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
东南大学C下期末考试笔试卷

一、选择题(每题1分,共 10 题,共 10 分) 1、在数组int b[][4]={{1},{3,4},{4,7,9,10},{8,5,6}}中,b[2][2]的值是 D 。 A.0 B. 4 C. 7 D.9 2、以下关于this指针描述正确的是 C 。 A.使基类公有成员在子类中可以被访问。 B.this指针必须写成显式的。 C.this指针总指向要调用的其成员函数的对象。 D.静态成员函数也存在this指针。 3、如果通过new运算符动态分配失败,返回结果是 B 。 A.-1 B0 C.1 D.不确定.... fibon[1] B.*++fibon C.*++pfib D.*(pfib+1) 8、 假设Person类包含公有成员name,私有成员id和受保护成员GetID,而Student类私有继承了Person类,那么Student类的成员函数可以直接访问 C 。 A.Person类的所有成员 B.仅有Person类的公有成员name C.仅有Person类的公有成员name和受保护成员GetID D.Person类的任何成员都不能访问 9、 实现多态的派生类函数不必 D 。 A.与基类虚函数同名 B.与基类虚函数同参数表 C.与基类虚函数同返回类型 D.用virtual修饰 10、分析下列代码是否存在问题,选择合适的选项: B 。 int main(void) { int *p = new int [10]; p = new int [10]; delete [] p; p = NULL; return 0; } A.没有问题 B.有内存泄漏 C.存在空悬指针 D.存在重复释放同一空间A[5]-A[2]= 9 。 3、单链表的结点分为 指针 域和 数据 域两部分。 4、标明为无具体实现的虚函数是 纯虚函数 。包含该函数的类称为 抽象类 ,不能用来定义对象。 5、C++文件流采用两种格式访问文件:文本格式和二进制格式。前者按 字符 存取,后者按 字节 存取。 6、重载提取运算符和插入运算符实现对象的输入和输出,需要将重载的运算符函数声明为该类的 友元函数 。 7.指针类型变量用于存贮 地址 , 在内存中它占有4个存贮单元。 8. 设有说明: int a, k, m, *p1=k, *p2=m; 执行a=p1==m;后a的值是 0 。 9.若有: int i,j=i; i=1; j=i+2; 则 i= 3 。 10. 构造函数 是一种特殊的成员函数,它主要用来为对象分配内存空间,对类的数据成员进行初始化并执行对象的其他内部管理操作。 11.一般情况下,使用系统提供的默认析构函数就可以了,但当对象的成员中使用了 new 运算符动态分分配内存空间时,就必须定义析构函数以正确释放对象空间。为了对象间能正确赋值,还必须要 重载运算符= 。 12.在类的派生过程中,要实现动态多态性,首先在类中必须要定义 虚函数 ,还要在使用对象的函数中定义 基类 指针,使该指针指向不同类的对象。 13 . 利用成员函数对双目运算符重载,其有 1 个参数,该参数为运算符的 右操作函数 。 三、阅读程序题(每空1-2分,共 40 分) 1、以下程序的输出结果是:(本题6分,每空2分) #include iostream using namespace std; void main(void) { int a,b,k=4,m=6,*p1=k,*p2=m; int arr[]={30,25,20,15,10,5},*p=arr; p++; cout*(p+3)endl; a=(p1==m); b=(*p1)/(*p2)+7; couta=aendl; coutb=bendl; } 程序运行结果: 10 a=0 b=7 2、改正以下程序的错误:(本题8分,每空2分) #include iostrea

您可能关注的文档

文档评论(0)

zhuwenmeijiale + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:7065136142000003

1亿VIP精品文档

相关文档