《C++语言程序设计》期末考试题及参考答案.doc

《C++语言程序设计》期末考试题及参考答案.doc

  1. 1、本文档共39页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C++语言程序设计 期末考试试题及答案 一、填空 1.在类中必须声明成员函数的 原型 ,成员函数的 实现 部分可以写在类外。 2.如果需要在被调函数运行期间, 改变主调函数中实参变量的值, 则函数的形参应该是 引 用 类型或 指针 类型。 3. 抽象 类只能作为基类使用,而不能声明它的对象。 4.进行函数重载时, 被重载的同名函数如果都没有用 const 修饰,则它们的形参 个数 或 类型 必须不同。 5.通过一个 常 对象只能调用它的常成员函数,不能调用其他成员函数。 6.函数的递归调用是指函数直接或间接地调用 自身 。 7.拷贝构造函数的形参必须是 本类对象的引用 。 二、阅读下列程序,写出其运行时的输出结果 如果程序运行时会出现错误,请简要描述错误原因。 1.请在以下两题中任选一题,该题得分即为本小题得分。如两题都答,则取两题得分之平均 值为本小题得分。 ( 1)程序: #include <iostream.h> Base("Base",m-1) #include <string.h> { n=m; } class Base void output(void) { private: { cout<<n<<endl; char msg[30]; Base::output(); protected: } int n; }; public: class Derived2:public Derived1 Base(char s[],int m=0):n(m) { { strcpy(msg,s); private: } int n; void output(void) public: { cout<<n<<endl<<msg<<endl; Derived2(int m=2): } Derived1(m-1) }; { n=m; } class Derived1:public Base void output(void) { { cout<<n<<endl; private: Derived1::output(); int n; } public: }; Derived1(int m=1): int main() 1 { B.output(); Base B("Base Class",1); D.output(); Derived2 D; } 运行结果: 1 Base Class 2 1 0 Base ( 2)程序: #include <iostream.h> { class Samp Samp *p; {public: p=new Samp[5]; void Setij(int a,int b){i=a,j=b;} if(!p) ~Samp() { cout<<"Allocation error\n"; { cout<<"Destroying.."<<i<<endl; return 1; } } int GetMuti(){return i*j;} for(int j=0;j<5;j++) protected: p[j].Setij(j,j); int i; for(int k=0;k<5;k++) int j; cout<<"Muti["<<k<<"] is:" }; <<p[k].GetMuti()<<endl; delete[]p; return 0; int main() } 运行结果: Muti[0] is:0 Muti[1] is:1 Muti[2] is:4 Muti[3] is:9 Muti[4] is:16 Destroying..4 Destroying..3 Destroying..2 Destroying..1 Destroying..0 2.请在以下两题中任选一题,该题得分即为本小题得分。如两题都答,则取两题得分之平均 2 值为本小题得分。 ( 1)程序: #include <iostream.h> return buffer[ndx]; #include <stdlib.h> } class Vector { void Vector::Display(void) public: { Vector(int s=100); for(int j=0; j<size; j++) int& Elem(int ndx); cout<<Elem(j)<<endl; void Display(void); } void Set(void); ~Vector(void); void Vector::Set(void) protected: { int size; for(int j=0; j<size; j++) int *buffer; Elem(j)=j+1; }; } Vector::Vector(int s)

文档评论(0)

明天会更好 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档