计面向对象程序设计 考试试卷(B卷)
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
b=a++。
c=f(a,b,c)。
cout<<"a="<<a<<" c="<<c<<endl。
return 0。
} int f(int x,int y,int z)
1. 程序 1
{
答:运行结果为:
int m。
m = x+y+z。
return(m)。
}
{ return Num。
2.程序 2(10 分)
{cout<<"create recliner."<<endl。}
~recliner( ){cout<<"delete recliner."<<endl。 }
private:
chair member。 3. 程序 3
}。
答:程序 3 运行结果为:
void main( )
{
bed b。
recliner r(2)。
1.什么是面向对象的程序设计?它的几个特征是什么? 答:
学号
系(院) 计算机与通信学院 课程名称 面向对象程序设计 班级 姓名
湖南工业大学考试试卷纸
题号 一 二 三 四 五 六 七 八 九 十 总分
题分 10 24 10 26 10 20
统分人 签名
100
得分
考生注意事项:1、本试卷共 4 页,试卷如有缺页或破损,请立即举手报告以便更换。
个人收集整理资料, 仅供交流学习, 勿作商业用途
5/5
第 4 页 共 4 页 聞創沟燴鐺險爱氇谴净祸
{ CE c1, c2。
//21 行
解答:
c1.SetValue(1,2,3)。
//22 行
c2.SetValue(3,2,1)。
//23 行
if (c1>c2)
//24 行
cout<<” c1>c2”<<endl。
//25 行
else
//26 行
cout<<” c1<c2”<<endl。 return 0。}
————————————————————————密封线——————————————————————
个人收集整理资料, 仅供交流学习, 勿作商业用途
课程名称: 面向对象程序设计 ( B 卷闭卷) 适用专业年级:计算机科学与技术 09 级考试时间: 100 分钟
二、简答题(每小题 8 分,共 24 分)
}
Number(int n=0) {Num = n。}
}。
void main()
{
Number *p。
p =___(4)___。//动态生成由 p 指向的 Number 对象,并使 Num 为 5。 cout<<p->TwoTimes(___(5)___)。//输出 2Num
delete p。
}
解答:
~bed( ){cout<<"delete bed."<<endl。 }
}。
class recliner:public chair,public bed
{public:
五、理解问答题(10 分)
说明:读懂如下程序,回答题后的问题。
#include "iostream.h"
//0 行
class CE {
后,对学习面向对象的编程方法很有帮助。( )
10.在 VC6.0 开发环境中,对导入的位图资源进行编辑是有限制的。(
)
第 1 页 共4 页
1/5
————————————————————————密封线——————————————————————
学号
系(院) 计算机与通信学院 课程名称 面向对象程序设计 班级 姓名
解答: 1.(1)错误行的行号为::
(2)分别改正为:
2.在修改了程序的错误以后,程序运行的结果为:
4/5
湖南工业大学考试试卷纸
系(院) 计算机与通信学院 课程名称 面向对象程序设计 班级 姓名
学号
————————————————————————密封线——————————————————————
測樅锯鳗鲮。
没有撤销。(
)
答:
5.构造函数和析构函数均不能被说明为虚函数。(
)
6.在 C 语言中,不使用命名空间,但在 C++程序中,一定要使用命名空间。(
)
7.ASCII 码文件和二进制文件都可在记事本中直接打开。(
)
8.类的友员函数是指可以访问本类私有成员的其它类的成员函数。(
)
9. 面向对象的编程方法还是要以面向过程的编程方法做基础,故学了面向过程的编程方法
湖南工业大学考试试卷纸
个人收集整理资料, 仅供交流学习, 勿作商业用途
三、填空题(每空 2 分,共 10 分)
四、阅读下面的程序,写出程序运行的结果。(共 26 分)
根据程序说明和程序中的注释,填充程序中不完整的部分。 类 Number 的成员函数 TwoTimes 是递归函数,功能是求 2n (假设 n<0 时返回值为
0)。
#include <iostream>
using namespace std。
class Number
{
private:
int Num。
public:
int n。 int TwoTimes (int n) //递归函数 TwoTimes (n)求 2n 。
{
if (___(1)___) return 0。
2、考试结束后,考生不得将试卷、答题纸和草稿纸带出考场。(答案请写在密封线
内和答卷正面,否则不记分)
2.类和结构有什么异同?
一、判断题,正确的在下列表格中打√,错误的打×(每小题 1 分, 答:
共 10 分)
1 2 3 4 5 6 7 8 9 10
1.在 c++语言中,只能使用 class 来定义一个类。(
int A::n = 0。
void main()
{
A *p=new A(20)。
p->print()。
A a。
a.print()。
delete p。
cout << "n=" << A::GetNum() << endl。
}
recliner(int p ):member(), bed( ),chair(p)
)
2.采用 inline 定义内联函数时,在对于函数代码少、频繁调用的情况下特别有效。
(
)
3.函数重载时,它们的参数个数和类型要求都不能相同。(
)
3..函数重载的主要作用是什么?调用不同的重载函数是在编译时决定还是在运
4.类中的静态成员数据为该类的所有对象所共享,并且,在该类对象被撤销时,静态成员并 行时决定?
要求: 编写类 doctor,并编写一个主程序,主程序中定义了 3 个博士对象(其 中有一个博士的参数为默认参数,另一个参数可以是任意有效值),然后,输出 2 个 博士的基本信息;第 3 个博士对象用指针动态生成(有参数,参数可以是任意有效 值),再输出该博士信息。
(提示:输出 Name 可以这样:cout<<Name.c_str()。)
private:
int a,b。
int getmin() {return (a<b?a:b)。}
public int c。
void SetValue(int x1,int x2,int x3) {
a=x1。b=x2。c=x3。
}。
int GetMin( )。
bool operator >(CE &c)。
chair(int size) {cout<<"create chair:"<<size<<endl。}
~chair( ) {cout<<"delete chair."<<endl。
}
}。
class bed
{
public:
bed(int color=3) {cout<<"create bed:"<<color<<endl。}
(3)
(4)
(5) 第 2 页 共4 页
2/5
————————————————————————密封线——————————————————————
个人收集整理资料, 仅供交流学习, 勿作商业用途
void A::print() { cout << "n=" << n << ", Num=" << Num<< endl。 }
(1)
(2)
#include <iostream.h> class A { private:
static int n。 int Num。 public: A(int x=0) { Num=x。 n++。 } ~A( ) { n-- 。 } static int GetNum(){ return n。 } void print()。 }。
if (n==0) ___(2)___。
else return ___(3)___。
}
int GetNum()
1.程序 1(6 分)
#include <iostream>
using namespace std。
int main()
{
int a=7,b。
int &c=b。
int f(int x,int y,int z)。
//28 行
//27 行
1.在 5 到 16 行之间有 3 行存在语法错误,请指出错误行的行号并改正(每空 1 分,
共 6 分)。
(1)错误行的行号为_____、_____和______。
(2)分别改正为______、______和______。
2.在修改了程序的错误以后,写出程序运行的结果。(4 分)
}
2. 程序 2 答:程序 2 的运行结果为:
学号
系(院) 计算机与通信学院 课程名称 面向对象程序设计 班级 姓名
ቤተ መጻሕፍቲ ባይዱ
湖南工业大学考试试卷纸
3. 程序 3(10 分)
#include <iostream.h>
class chair
{
public:
chair( ) {cout<<"create chair."<<endl。}
} bool CE::operator >(CE &c) { return ( GetMin( )> c.GetMin( ))。 } int main( )
//13 行 //14 行 //15 行 //16 行 //17 行 //18 行 //19 行 //20 行
六、编程题(20 分)
定义一个博士类 doctor,它的私有数据成员有 Num(编号,为 int 型)、Name (姓名,为 string 型)、Age(年龄,为 int 型)、Sex(性别,为 char 型)。公用 成员函数有:GetNum( ),它返回博士编号;Display( ),它输出博士的上述基本信息 (注意:Display( )函数在类外定义)。 博士类的构造函数原型为: doctor(int Num0=1001, string Name0="彭博士", int Age0=30,char Sex0='1')。
//11 行
}。
//1 行 //2 行 //3 行 //4 行 //5 行 //6 行 //7 行 //8 行 //9 行 //10 行
//12 行
3/5
第 3 页 共 4 页 矚慫润厲钐瘗睞枥庑赖賃
个人收集整理资料, 仅供交流学习, 勿作商业用途
軔朧碍鳝绢。
int GetMin(){ d=getmin()。 return(d<c? d:c)。