C面向对象程序的相关设计.ppt

  1. 1、本文档共98页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
2.5.3 使用输入输出成员函数 [例Ex_Read] read函数的使用 #include <iostream.h> void main() { char data[80]; cout<<"请输入:"<<endl; cin.read(data, 80); data[cin.gcount()] = '\0'; cout<<endl<<data<<endl; } 运行结果为: 其中,^Z表示用户按下“Ctrl+z”键,“^Z +回车键”表示数据输入提前结束。gcount 是istream类的另一个成员函数,用来返回上一次提取的字符个数。从这个例子 可以看出,当用read函数读取数据时,不会因为换行符而结束读取,因此它可以 读取多个行的字符串,这在许多场合下是很有用处的。 2.5.3 使用输入输出成员函数 2. 输出操作的成员函数 ostream类中用于输出单个字符或字节的成员函数是put和write,它们的原型如下: ostream& put( char ch ); ostream& write( const char* pch, int nCount ); ostream& write( const unsigned char* puch, int nCount ); ostream& write( const signed char* psch, int nCount ); 例如: char data[80]; cout<<"请输入:"<<endl; cin.read(data, 80); cout.write(data,80); cout<<endl; 2.5.4 提取和插入运算符重载 C++中的一个最引人注目的特性是允许用户重载“>>”和“<<”运算符,以便用户利用标准的输 入输出流来输入输出自己定义的数据类型(包括类),实现对象的输入输出。 重载这两个运算符时,虽然可使用别的方法,但最好将重载声明为类的友元函数,以便能 访问类中的私有成员。下面来看一个示例。 [例Ex_ExtractAndInsert] 提取和插入运算符的重载 #include <iostream.h> class CStudent { public: friend ostream& operator<< ( ostream& os, CStudent& stu ); friend istream& operator>> ( istream& is, CStudent& stu ); private: char strName[10]; // 姓名 char strID[10]; // 学号 float fScore[3]; // 三门成绩 }; ostream& operator<< ( ostream& os, CStudent& stu ) { os<<endl<<"学生信息如下:"<<endl; os<<"姓名:"<<stu.strName<<endl; os<<"学号:"<<stu.strID<<endl; os<<"成绩:"<<stu.fScore[0]<<",\t"<<stu.fScore[1]<<",\t"<<stu.fScore[2]<<endl; return os; } istream& operator>> ( istream& is, CStudent& stu ) { cout<<"请输入学生信息"<<endl; cout<<"姓名:"; is>>stu.strName; cout<<"学号:"; is>>stu.strID; cout<<"三门成绩:"; is>>stu.fScore[0]>>stu.fScore[1]>>stu.fScore[2]; return is; } void main() { CStudent one; cin>>one; cout<<one; } 2.5.4 提取和插入运算符重载 [例Ex_ExtractAndInsert] 提取和插入运算符的重载 运行结果为: 经重载提取和插入运算符后,通过cin和cout实现了对象的直接输入和输出。 2.5.5 文件流概述 为方便用户对文件的操作,C++提供了文件操作的文件流库,它的体系结构如图 2.2所示。其中,ifstream类是从istream类公有派生而来,用来支持从输入文件 中提取数据的各种操作。ofstream类是从ostream公有派生而来,用来实现把数 据写入到文件中的各种操作。fstream类是从iostream类公有派生而来,提供从文 件中提取数据或把数据写入到文件的各种操作。类从streambuf类派生而 来,用来管理磁盘文件的缓冲区,应用程序中一般

文档评论(0)

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

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档