程序设计实习第十八讲输入输出流和文件操作.pptx

程序设计实习第十八讲输入输出流和文件操作.pptx

  1. 1、本文档共64页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:19108035856(电话支持时间:9:00-19:00)。
程序设计实习 第十八讲 输入输出流和文件操作主讲教师:田永鸿2008年5月12日第一页,共六十四页。 上节内容回顾虚函数和多态纯虚函数和抽象类多态的实现:虚函数表虚函数的访问权限构造函数和析构函数中调用虚函数虚析构函数2第二页,共六十四页。 课堂问题(1)判断对错并说明理由抽象基类中的所有virtual函数都必须声明为纯virtual函数;声明某个类为virtual,该类就成为抽象类。如果基类声明了一个纯virtual函数,派生类只有实现该函数才能成为具体类。下面的定义是否正确,该如何改正? class base{ string name() {return basename;} virtual void print(ostream &os) {os<<basename;} private: basename; } class derived { void print() {print(ostream &os); os<<“ ”<<mem; } private: int meme; }class derived: public base { void print() {base::print(os); os<<“ ”<<mem; } private: int meme; }同时,基类及派生类也应该定义构造函数和析构函数。base::base(string name):basename(name){ };base::~base() { };derived:: derived(string name, int val): base(name), mem(val){ };derived:: ~derived() { };3第三页,共六十四页。 课堂问题(2)下列关于重载函数和虚函数的辨析描述中,理解不正确的是:重载函数处理的是同一类层次上的同名函数问题,而虚函数处理的是不同派生层次上的同名函数问题。重载函数要求函数有相同的函数名称,不管返回值类型是否相同,但参数序列必须不同,而虚函数则要求函数名、参数序列和返回值类型完全相同。重载函数和虚函数都必须是类成员函数,但重载函数一般功能类似,而虚函数一般功能有所不同,甚至基类虚函数的函数体可以为空,具体功能在派生类中添加。重载函数在编译时,根据传递参数序列的不同,确定具体调用表现多态性,而虚函数在运行时,根据基类指针或引用所指向对象的不同,确定具体调用表现出多态性。4第四页,共六十四页。 课堂问题(3)请写出运行时输出的结果 class A {public: A( ) { } virtual void func() { cout << "A::func" << endl; } ~A( ) { } virtual void fund( ) { cout << "A::fund" << endl; }};class B: public A {public: B ( ) { func( ) ; } void fun( ) { func( ) ; } ~B ( ) { fund( ); }};class C : public B {public : C( ) { } void func( ) {cout << "C::func" << endl; } ~C() { fund( ); } void fund() { cout << "C::fund" << endl;}};main() { C c; }A::funcC::fundA::fund5第五页,共六十四页。 内容提要输入输出流文件操作作业6第六页,共六十四页。 输入输出流流的概念模型C++中与流操作相关的类及其继承关系输入输出流对象: cin, cout, cerr, clog输出流输入流无格式输入输出流操纵算子流格式状态7第七页,共六十四页。 流的概念模型流 --- 可以看作一个无限长的二进制数字序列通过读写指针进行流的读和写(以字节为单位) 将流上的数据读进变量x1010111011100010将y的值写入流yx8第八页,共六十四页。 流的概念模型输出流 可以看作一端无限,另一端通过写指针不停地向后写入新内容的单向流,1100011010~写指针9第九页,共六十四页。 流的概念模型输入流 可以看作一端无限,另一端通过读指针不停地从流中读取新内容的单向流,读出的内容从流中删去。1100011010~读指针10第十页,共六十四页。 有格式读写和无格式读写有格式读写,以某种数据类型为单位读写例如:读一个整数,写一个浮点数等;无格式读写,以字节为单位读写,不区分其中的内容例如:读20个字节,写50个字节等;11第十

您可能关注的文档

文档评论(0)

guoshidan + 关注
实名认证
内容提供者

小可爱

认证主体郭**

相关文档

相关课程推荐