当前位置:高等教育资讯网  >  中国高校课件下载中心  >  大学文库  >  浏览文档

《C++语言》课程教学资源(PPT课件讲稿)第十三章 输入和输出

资源类别:文库,文档格式:PPS,文档页数:38,文件大小:119KB,团购合买
ios的派生类 istream提供了创建输入流以及从流中提取数据 的手段;ios的派生类 stream提供了创建输出流以及向流中 插入数据的手段;ios的派生类 iostream则同时提供了上述两 种手段。由于 iostream的主要作用是用来派生其它类的,在 格式化O中通常不涉及该类。
点击下载完整版文档(PPS)

13.3输入和输出 ios的派生类 istream提供了创建输入流以及从流中提取数据 的手段;ios的派生类 ostream提供了创建输出流以及向流中 插入数据的手段;ios的派生类 iostream则同时提供了上述两 种手段。由于 iostream的主要作用是用来派生其它类的,在 格式化MO中通常不涉及该类。 对于格式化MO,类 istream和 ostream通过对运算符“>>” 和“<<”的多次重载,提供了对3大类13种数据类型的WO 操作。 字符型: signed char, unsigned char 字符串型: signed char*, unsigned char* 数值型: short, unsigned short,int, unsigned,long, unsign-ed long, float, double, long double

13.3 输入和输出 ios 的派生类 istream 提供了创建输入流以及从流中提取数据 的手段; ios 的派生类 ostream 提供了创建输出流以及向流中 插入数据的手段; ios 的派生类 iostream 则同时提供了上述两 种手段。由于 iostream 的主要作用是用来派生其它类的,在 格式化 I/O 中通常不涉及该类。 对于格式化 I/O,类 istream 和 ostream 通过对运算符 “>>” 和 “<<” 的多次重载,提供了对 3 大类 13 种数据类型的 I/O 操作。 字符型:signed char, unsigned char 字符串型:signed char*, unsigned char* 数值型:short, unsigned short, int, unsigned, long, unsign-ed long, float, double, long double

13.3.1格式化输入 格式化输入是指通过 istream的对象,利用重载了的“>>”运 算符来实现的。 最常用的格式化输入是对标准流cin的提取操作。在应用程序 中也可以定义用户自己的输入流类。但由于定义用户流时将涉 及到对流缓冲区 streambuf的操作,且实用价值不大,因此本 课程对此不作介绍。 格式化输入的缺省格式为:十进制(ios:dec)、跳过前导空 白字符(os:Ws)

13.3.1 格式化输入 格式化输入是指通过 istream 的对象,利用重载了的 “>>” 运 算符来实现的。 最常用的格式化输入是对标准流 cin 的提取操作。在应用程序 中也可以定义用户自己的输入流类。但由于定义用户流时将涉 及到对流缓冲区 streambuf 的操作,且实用价值不大,因此本 课程对此不作介绍。 格式化输入的缺省格式为:十进制(ios :: dec)、跳过前导空 白字符(ios :: ws)

13.32输入操作函数 int istream: geto istream& istream: get(signed char&) istream& istream get(unsigned char &) istream& istream: get(signed char*, int, char ="n) istream& istream: get(unsigned chark, int, char =n) 后4个成员函数所以返回对流 istream的引用,是为了便于进 “串联”输入。这实际上是流类成员函数重载的“标准” 形式。第一个函数的值为一整型数据,其目的是为了能够读取 文件结束标志EOF。该标志是C++语言预定义的一个宏: #define EOF

13.3.2 输入操作函数 int istream :: get(); istream& istream :: get(signed char&); istream& istream :: get(unsigned char&); istream& istream :: get(signed char*, int, char = '\n'); istream& istream :: get(unsigned char*, int, char = '\n'); 后 4 个成员函数所以返回对流 istream 的引用,是为了便于进 行 “串联” 输入。这实际上是流类成员函数重载的 “标准” 形式。第一个函数的值为一整型数据,其目的是为了能够读取 文件结束标志 EOF。该标志是 C++ 语言预定义的一个宏: #define EOF -1

include void maino char ch, str[81: cin. get(str, 81) cout >ch. cout < ch < endl

#include void main() { char ch, str[81]; cin.get(str, 81); cout > ch; cout << ch << endl; }

为了方便字符串的输入, istream中还说明了几个主要用于输 入字符串的非格式化成员函数: istream& istream: getline(signed char, int, char =n) istream& istream: getline(unsigned char, int, char='In) istream& istream ignore(int =1, int EOF) int istream. gcounto

为了方便字符串的输入,istream 中还说明了几个主要用于输 入字符串的非格式化成员函数: istream& istream :: getline(signed char*, int, char = '\n'); istream& istream :: getline(unsigned char*, int, char='\n'); istream& istream :: ignore(int = 1, int = EOF); int istream :: gcount();

#include void maino char ch, str[81] cingetline(str, 81); cout ch cout < ch < end:

#include void main() { char ch, str[81]; cin.getline(str, 81); cout > ch; cout << ch << endl; }

13.3.3格式化输出 格式化输出是通过 ostream类的对象,利用重载了的“<<”运 算符来实现的。 最常用的输出流对象为cout,有时,出于某种特殊需要也会用 到cer和cog。程序员也可以定义自己的输出流类,但实用 价值不大 格式化输出的缺省格式为:十进制、域宽为0、左对齐、空格 填充;精度为6位小数、浮点数

13.3.3 格式化输出 格式化输出是通过 ostream 类的对象,利用重载了的 “<<” 运 算符来实现的。 最常用的输出流对象为 cout,有时,出于某种特殊需要也会用 到 cerr 和 clog。程序员也可以定义自己的输出流类,但实用 价值不大。 格式化输出的缺省格式为:十进制、域宽为 0、左对齐、空格 填充;精度为 6 位小数、浮点数

1334输出操作函数 ostream& ostream: put(char) ∥输出单个字符 ostream& ostream: flush( ∥刷新输出流 例 #include void main( char ch=A while(ch <=Z put(ch ++ put(n);

13.3.4 输出操作函数 ostream& ostream :: put(char); // 输出单个字符 ostream& ostream :: flush(); // 刷新输出流 例: #include void main() { char ch = 'A'; while(ch <= 'Z') put(ch ++) put('\n'); }

13.3.5重载提取和插入运算符 friend istream& operator >>(istream&, cls&); friend ostream& operator <<(ostream&, cls&); 其中:cs为运算符重载所属类的类名。 从上述运算符重载的一般形式可以看出:提取和插入运算符必 须重载为类的友元函数,且函数的返回值必须是对相应类的引 用。至于参数,除了要求必须有一个流和一个类(说明运算符 重载的类)外,对其类型无严格要求。也就是说,可以是引用、 对象甚至指针。但习惯上常用引用,几乎从不使用指针

13.3.5 重载提取和插入运算符 friend istream& operator >> (istream&, cls&); friend ostream& operator << (ostream&, cls&); 其中:cls 为运算符重载所属类的类名。 从上述运算符重载的一般形式可以看出:提取和插入运算符必 须重载为类的友元函数,且函数的返回值必须是对相应类的引 用。至于参数,除了要求必须有一个流和一个类(说明运算符 重载的类)外,对其类型无严格要求。也就是说,可以是引用、 对象甚至指针。但习惯上常用引用,几乎从不使用指针

include class×{ int x public X(int a=0): X(a 1 int Get( return X; 3 void Set(int a) I x= a friend ostream& operator >(istream&, X&)

#include class X { int x; public: X(int a = 0) : x(a) {} int Get() { return x; } void Set(int a) { x = a; } friend ostream& operator > (istream&, X&); };

点击下载完整版文档(PPS)VIP每日下载上限内不扣除下载券和下载次数;
按次数下载不扣除下载券;
24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
共38页,可试读13页,点击继续阅读 ↓↓
相关文档

关于我们|帮助中心|下载说明|相关软件|意见反馈|联系我们

Copyright © 2008-现在 cucdc.com 高等教育资讯网 版权所有