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