- 1、本文档共11页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
02328自考全国2007年一月面向对象程序设计试题
超越60自考网
全国2007年1月高等教育自学考试
面向对象程序设计试题
课程代码:02328
一、单项选择题(本大题共10小题,每小题2分,共20分)
在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。错选、多选或未选均无分。
1.一个函数功能不太复杂,但要求被频繁调用,选用( )
A.内联函数 B.重载函数
C.递归函数 D.嵌套函数
2.C++的继承性允许派生类继承基类的( )
A.部分特性,并允许增加新的特性或重定义基类的特性
B.部分特性,但不允许增加新的特性或重定义基类的特性
C.所有特性,并允许增加新的特性或重定义基类的特性
D.所有特性,但不允许增加新的特性或重定义基类的特性
3.在C++中,封装是借助什么达到的?( )
A.结构 B.类
C.数组 D.函数
4.建立包含有类对象成员的派生类对象时,自动调用构造函数的执行顺序依次为( )
A.自己所属类、对象成员所属类、基类的构造函数
B.对象成员所属类、基类、自己所属类的构造函数
C.基类、对象成员所属类、自己所属类的构造函数
D.基类、自己所属类、对象成员所属类的构造函数
5.类的析构函数是对一个对象进行以下哪种操作时自动调用的?( )
A.建立 B.撤消
C.赋值 D.引用
6.下列不是描述类的成员函数的是( )
A.构造函数 B.析构函数
C.友元函数 D.拷贝构造函数
7.所有在函数中定义的变量,连同形式参数,都属于( )
A.全局变量 B.局部变量
C.静态变量 D.寄存器变量
8.假定AB为一个类,则执行AB x;语句时将自动调用该类的( )
A.有参构造函数 B.无参构造函数
C.拷贝构造函数 D.赋值构造函数
9.假定AA为一个类,a()为该类公有的函数成员,x为该类的一个对象,则访问x对象中函数成员a()的格式为( )
A.x.a B.x.a()
C.x-a D.x-a()
10.对于任一个类,用户所能定义的构造函数的个数至多为( )
A.0 B.1
C.2 D.任意个
二、填空题(本大题共10小题,每小题2分,共20分)
请在每小题的空格中填上正确答案。错填、不填均无分。
11.对象的四大基本特性是多态性、继承性、______和封装性。
12.为了使类中的成员不能被类外的函数通过成员操作符访问,则应把该成员的访问权限定义为______。
13.C++程序的源文件扩展名为______。
14.所有模版都是以______关键字和一个形参表开头的。
15.在#include命令中所包含的头文件,可以是系统定义的头文件,也可以是______定义的头文件。
16.一个const对象只能访问______成员函数。
17.C++是通过引用运算符______来定义一个引用的。
18.若y是x的引用,则对y的操作就是对______的操作。
19.执行______操作将释放由p所指向的动态分配的数据空间。
20.C++的流库预定义了4个流,它们是cin、cout、______和clog。
三、改错题(本大题共2小题,每小题6分,共12分)
21.假定下面程序将分数a和b相加,其和赋值给c并输出,要求输出结果为“13/18”,其主函数5到8行之间存在着三行语句错误,请指出错误行的行号并改正。
#includeiostream.h
class Franction{ //定义分数类
int nume; //定义分子
int deno; //定义分母
public:
//把*this化简为最简分数,具体定义在另外文件中实现
void FranSimp();
//返回两个分数*this和x之和,具体定义在另外文件中实现
Franction FranAdd(const Franction x);
//置分数的分子和分母分别0和1
void InitFranction() {nume=0; deno=1;}
//置分数的分子和分母分别n和d
void InitFranction(int n,int d) {nume=n; deno=d;}
//输出一个分数
void FranOutput() {coutnume′/′denoendl;}
};
void main() //1行
{ //2行
Franction a,b,c; //3行
a.InitFranction(7,18); //4行
b.InitFranction(1); //5行
c.InitFranction(); //6行
c=FranAdd(a,b); //7行
coutc.nume′/′c.denoendl; //8行
} //9行
错误行的行号为______、______和__
文档评论(0)