- 1、本文档共39页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 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)
您可能关注的文档
- (完整版)通信机房电源计算公式.doc
- (完整版)通用焊接工艺卡1.doc
- (完整版)通知---关于公司废旧纸质物资统一回收的规定5.9.doc
- (完整版)通达信编程实例100个.doc
- (完整版)通达信软件神奇功能一览.doc
- (完整版)通过激素的调节教学设计.doc
- (完整版)通风系统.doc
- (完整版)速度瞬心在机构分析中的应用.doc
- (完整版)造型材料与工艺复习题.doc
- (完整版)逻辑代数的基本公式和运算规则.doc
- 2021-2022年辽宁省铁岭市社会工作者职业资格社会工作综合能力(初级)专项练习(含答案).docx
- 2022年江苏省南京市注册会计审计.docx
- 2022年浙江省温州市注册会计审计真题(含答案).docx
- 湖北省宜昌市注册会计财务成本管理专项练习(含答案).docx
- 2022年湖北省黄石市注册会计财务成本管理专项练习(含答案).docx
- 2022-2023年江苏省无锡市全科医学(中级)专业知识.docx
- 2021-2022年陕西省宝鸡市社会工作者职业资格社会工作综合能力(初级)专项练习(含答案).docx
- 2022-2023年河南省驻马店市导游资格导游业务.docx
- 湖南省郴州市社会工作者职业资格社会工作综合能力(初级)重点汇总(含答案).docx
- 2024年xx学院职业倾向性测试题库(突破训练)word版.docx
文档评论(0)