欢迎来到天天文库
浏览记录
ID:41032802
大小:158.50 KB
页数:18页
时间:2019-08-14
《汤姆斯旺C++编程秘诀可编辑》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、个祥子:classTAnyClass{intx;inty;friendostream&operator<<(ostream&,TAnyClass&);friendostream&operator>>(istream&,TAnyClass&);friendbofstream&operator<<(bofstream&,TAnyClass&);friendbifstream&operator>>(bifstream&,TAnyClass&);public:TAnyClass();x(0);y(0){}TA
2、nyClass(intX,intY);x(X),y(Y){}};因为运算符函数的参数不同,所以编译器能依据其使用的场合在函数间作出区分。这个新的输出流运算符的实现如下所示:ostream&operator<<(ostream&os,TAnyClass&c){os<<”x==”<>(istream&is
3、,TAnyClass&c){cout<<”EntervaleforX:”;is>>c.x;cout<<”EntervaleforY:”;is>>c.y;returnis;}现在你可以为来自cin的TAnyClass对象作提示,再将这些对象写到cout,并用二进制文件流读、写磁盘文件中的对象。所有这些助作都可以用相对简单的流语句来完成。首先定义两个TAnyClass对象:TAnyClassoriginal,copy;然后,用下面这些语句给出提示、读入并确认对象original:Cout<<"EnterX
4、andYvalues﹨n";cin>>oribinal;//提示并读值cout<<"Yourvaluesare:﹨n";cout<5、6、LENAME<>copy;//把类对象从磁盘读到copy中最后一条语句读文件,并通过调用重载类>>运算符函数将对象的数据从磁盘装入到名字力copy的TAnyClass对象中,用下列语句显示copy的值:cout<<"Copyofclassobject:";cout<7、:istream&seekg(streampos);istream&seekg(streamoff,ios::seek_dir)多streampos和streamoff的数据类型典型地定义成与long值等价:typedeflongstreampos;typedeflongstreamoff;不过,另一个编译器有可能用一个不同的数据类型来定义streampos和streamoff,所以不能把long值直接传递给seekg()。Seekg()的第一种重载格式把输入流定位到一个特定的字节,第二种格式把输入流8、从三个由ios::seek_dir定义的位置之一开始秘动一个偏移量(见表6.2)。表6.2ios::seek-dir常量常量值插述beg0从文件买开始搜寻cur1从文件的当前位置开始搜寻end2从文件尾开始搜索对于ios::beg是提供正的偏移量。对于ios::cur提供正的偏移量是为了向文件尾作正向搜寻,否则使用负的偏移量以便反向搜寻到文件实。对于ios::end总是提供负的偏移量。为了定位輸出流的内部文件指针,可以用下面两个从ostream类继承的重
5、6、LENAME<>copy;//把类对象从磁盘读到copy中最后一条语句读文件,并通过调用重载类>>运算符函数将对象的数据从磁盘装入到名字力copy的TAnyClass对象中,用下列语句显示copy的值:cout<<"Copyofclassobject:";cout<7、:istream&seekg(streampos);istream&seekg(streamoff,ios::seek_dir)多streampos和streamoff的数据类型典型地定义成与long值等价:typedeflongstreampos;typedeflongstreamoff;不过,另一个编译器有可能用一个不同的数据类型来定义streampos和streamoff,所以不能把long值直接传递给seekg()。Seekg()的第一种重载格式把输入流定位到一个特定的字节,第二种格式把输入流8、从三个由ios::seek_dir定义的位置之一开始秘动一个偏移量(见表6.2)。表6.2ios::seek-dir常量常量值插述beg0从文件买开始搜寻cur1从文件的当前位置开始搜寻end2从文件尾开始搜索对于ios::beg是提供正的偏移量。对于ios::cur提供正的偏移量是为了向文件尾作正向搜寻,否则使用负的偏移量以便反向搜寻到文件实。对于ios::end总是提供负的偏移量。为了定位輸出流的内部文件指针,可以用下面两个从ostream类继承的重
6、LENAME<>copy;//把类对象从磁盘读到copy中最后一条语句读文件,并通过调用重载类>>运算符函数将对象的数据从磁盘装入到名字力copy的TAnyClass对象中,用下列语句显示copy的值:cout<<"Copyofclassobject:";cout<7、:istream&seekg(streampos);istream&seekg(streamoff,ios::seek_dir)多streampos和streamoff的数据类型典型地定义成与long值等价:typedeflongstreampos;typedeflongstreamoff;不过,另一个编译器有可能用一个不同的数据类型来定义streampos和streamoff,所以不能把long值直接传递给seekg()。Seekg()的第一种重载格式把输入流定位到一个特定的字节,第二种格式把输入流8、从三个由ios::seek_dir定义的位置之一开始秘动一个偏移量(见表6.2)。表6.2ios::seek-dir常量常量值插述beg0从文件买开始搜寻cur1从文件的当前位置开始搜寻end2从文件尾开始搜索对于ios::beg是提供正的偏移量。对于ios::cur提供正的偏移量是为了向文件尾作正向搜寻,否则使用负的偏移量以便反向搜寻到文件实。对于ios::end总是提供负的偏移量。为了定位輸出流的内部文件指针,可以用下面两个从ostream类继承的重
7、:istream&seekg(streampos);istream&seekg(streamoff,ios::seek_dir)多streampos和streamoff的数据类型典型地定义成与long值等价:typedeflongstreampos;typedeflongstreamoff;不过,另一个编译器有可能用一个不同的数据类型来定义streampos和streamoff,所以不能把long值直接传递给seekg()。Seekg()的第一种重载格式把输入流定位到一个特定的字节,第二种格式把输入流
8、从三个由ios::seek_dir定义的位置之一开始秘动一个偏移量(见表6.2)。表6.2ios::seek-dir常量常量值插述beg0从文件买开始搜寻cur1从文件的当前位置开始搜寻end2从文件尾开始搜索对于ios::beg是提供正的偏移量。对于ios::cur提供正的偏移量是为了向文件尾作正向搜寻,否则使用负的偏移量以便反向搜寻到文件实。对于ios::end总是提供负的偏移量。为了定位輸出流的内部文件指针,可以用下面两个从ostream类继承的重
此文档下载收益归作者所有