77范文网 - 专业文章范例文档资料分享平台

C++程序设计教程--面向对象分册(郑秋生)答案(4)

来源:网络收集 时间:2020-05-23 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

3.2 填空题

3.2.1 C++中多态性包括两种多态性:(1)和(2)。前者是通过(3)实现的,而后者是通过(4)和(5)来实现的。 答案:(1)编译时的

(2)运行时的

(3)函数和运算符的重载 (4)类继承关系 (5)虚函数

3.2.2 纯虚函数定义时在函数参数表后加(1),它表明程序员对函数(2),其本质是将指向

函数体的指针定为(3)。 答案:(1)=0

(2)不定义 (3)NULL

3.2.3在基类中将一个成员函数说明成虚函数后,在其派生类中只要(1)、(2)和(3)完全一样就认为是虚函数,而不必再加关键字(4)。如有任何不同,则认为是(5)而不是虚函数。除了非成员函数不能作为虚函数外,(6)、(7)和(8)也不能作为虚函数。 答案:(1)同虚函数名

(2)同参数表

(3)同返回类型。如基类中返回基类指针,而派生类中返回派生类指针是允许的 (4)virtual (5)重载

(6)静态成员函数 (7)内联函数 (8)构造函数 第三大题答案: 3.1答案:

#include #include class CStudent { char name[20]; char nativeplace[20]; char code[30]; int age; float score; public :

CStudent(char *, char*,char*,int ,float); CStudent(CStudent &s); void display();

float operator+(CStudent s1); };

CStudent::CStudent(char *name, char*native,char*code,int age,float score)

{ strcpy(this->name,name); strcpy(this->nativeplace,native); strcpy(this->code,code); this->age=age; this->score=score; }

CStudent::CStudent(CStudent &s) { strcpy(this->name,s.name); strcpy(this->nativeplace,s.nativeplace); strcpy(this->code,s.code); this->age=s.age; this->score=s.score; }

void CStudent::display() { cout<

float CStudent::operator +(CStudent s1) { return this->score+s1.score; }

void main() { CStudent w(\ w.display(); CStudent c(\ c.display(); cout<

3.2答案:

#include #include #include class CTriangle { float a,b,c; public: CTriangle(float a,float b,float c) { this->a=a; this->b=b; this->c=c;

} float GetArea() {

float t=(a+b+c)/2; return sqrt(t*(t-a)*(t-b)*(t-c)); } float operator +(CTriangle t) { return this->GetArea()+t.GetArea(); } };

void main() { CTriangle tr1(3,4,5),tr2(6,8,10); cout<

3.3答案:

#include class BaseClass {

public:

virtual void f1()

{cout<<\void f2()

{cout<<\};

class DerivedClass: public BaseClass {

public: void f1()

{cout<<\void f2()

{cout<<\};

void main() {

DerivedClass d1; BaseClass* Bptr; DerivedClass* Dptr; Bptr=&d1; Bptr->f1(); Bptr->f2();

Dptr=&d1; Dptr->f1(); Dptr->f2(); }

习题四

一、选择题

1.D 2.A 3.B 4.C 5. C 6.C 7. A 二、简答题

1.什么叫做流?流的提取和插入是指什么?I/O流在C++中起着怎样的作用?

答:流是一种抽象,它负责在数据的生产者(程序/文件)和数据的消费者(文件/程序)之间建立联系,并管理数据的流动。

一般意义下的读操作在流数据抽象中被称为(从流中)提取,写操作被称为(向流中)插入。 完成数据从动态(内存)到静态(外存)的转换,或着是从静态(外存)到动态(内存)的转换。

2.什么是字节流、字符流和二进制流?

答:根据对字节内容的解释方式,字节流分为字符流(也称文本流)和二进制流。

字符流将字节流的每个字节按ASCⅡ字符解释,它在数据传输时需作转换,效率较低。例如源程序文件和文本文件都是字符流。由于ASCⅡ字符是标准的,所以字符流可以直接编辑,显示或打印,字符流产生的文件通行于各类计算机。 二进制流将字节流的每个字节以二进制方式解释,它在数据传输时不作任何转换,故效率高。但各类计算机对数据的二进制存放格式各有差异,且无法人工阅读,故二进制流产生的文件可移植性较差。

3.cerr和clog作用是什么?有何区别?

答:对于输入提示信息或输出结果而言, cerr和clog的用法相同,但作用不同。cerr的作用是向标准错误设备(standard error device)输出有关出错信息。cerr流中的信息只能在显示器输出。当调试程序时,往往不希望程序运行时的出错信息被送到其他文件,而要求在显示器上及时输出,这时应该用cerr,cerr流中的信息是用户根据需要指定的。clog流对象也是标准错误流,它是console log的缩写。它的作用和cerr相同,都是在终端显示器上显示出错信息。不同的是cerr不经过缓冲区,直接向显示器上输出有关信息,而clog中的信息存放在缓冲区中,缓冲区满后或遇endl时向显示器输出。 4.用什么方法来控制输入输出流中出现的错误?

答:为提高程序的可靠性,应在程序中检测I/O流的操作是否正常。当检测到流操作出现错误时,可以通过异常处理来解决问题。

5.比较读写文本文件与二进制文件的异同。

答:从文件编码的方式来看,文件可分为ASCII码文件和二进制码文件两种。

ASCII文件也称为文本文件,这种文件在磁盘中存放时每个字符对应一个字节,用于存放对应的ASCII码。例如,数5678的存储形式为:

ASC码: 00110101 00110110 00110111 00111000 ↓ ↓ ↓ ↓

十进制码: 5 6 7 8 共占用4个字节。ASCII码文件可在屏幕上按字符显示, 例如源程序文件就是ASCII文件,用DOS命令TYPE可显示文件的内容。 由于是按字符显示,因此能读懂文件内容。

二进制文件是按二进制的编码方式来存放文件的。 例如, 数5678的存储形式为: 00010110 00101110只占二个字节。二进制文件虽然也可在屏幕上显示, 但其内容无法读懂。C++系统在处理这些文件时,并不区分类型,都看成是字符流,按字节进行处理。 输入输出字符流的开始和结束只由程序控制而不受物理符号(如回车符)的控制。 因此也把这种文件称作“流式文件”。

6.随机读写是什么意思,常用于哪种类型的文件?

答:在C++中可以由程序移动文件指针,从而实现文件的随机访问,即可读写流中任意一段内容。一般文本文件很难准确定位,所以随机访问多用于二进制文件。 7.文件流和字符串流有什么区别?

答:文件在C++看来是字符流或二进制流,文件流是以外存文件为输入输出对象的数据,所以文件流是与设备相关的。可以把流的概念应用到字符串(String)上。这样字符串就可以看作字符串流。字符串流不是以外存文件为输入输出的对象,而以内存中用户定义的字符数组为输入输出的对象。字符串流是与内存相关,所以也称内存流。可以用输入输出操作来完成字符串流的操作。

三、编程题 1.

x= 468y= -3.42565 x=468 y=-3.42565 x=+468******y=-3.43***** 2.

生成一个名称为data.txt文件,内容:This is test data 3.源程序。 #include #include using namespace std; int main() {

for(int n=8;n>0;n--)

cout<

return 0; }

4.源程序。

#include void main(void) {

char f2[256];

cout<<\请输入目标文件名?\

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说教育文库C++程序设计教程--面向对象分册(郑秋生)答案(4)在线全文阅读。

C++程序设计教程--面向对象分册(郑秋生)答案(4).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/jiaoyu/1069205.html(转载请注明文章来源)
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: