第一节流库的类层次结构 (2) iostream 、派生得到 输入输出流类—由 istream及 ostream y class 10s, class istream virtual public ios class ostream: virtual public ios class iostream public istream, public ostream (3)在 istream、 ostream、 iostream的基础上重载“ 派生出: class istrema withassign: public istream;(输入流辅 助类) > class ostrema_ withassign: public ostream;(输出流辅 助类) > class postrema_ withassign: public iostream;(输入(输 出流辅助类)
第一节 流库的类层次结构 ⑵ iostream —— 输入输出流类——由istream 及ostream 派生得到: ➢class ios; ➢class istream :virtual public ios; ➢class ostream :virtual public ios; ➢class iostream :public istream,public ostream; ⑶ 在istream、ostream、iostream的基础上重载“=”, 派生出: ➢class istrema_withassign : public istream;(输入流辅 助类) ➢class ostrema_withassign : public ostream;(输出流辅 助类) ➢class iostrema_withassign : public iostream;(输入/输 出流辅助类)
第一节流库的类层次结构 (4)cin、cout、cree、clog对象—在 iostream. h中定义: extrean istrema withassign cin i extrean ostrema withassign cout extrean ostrema withassign cerr extrean ostrema withassign clog 其中: >cin与标准输入设备(即键盘)相关联 cout与标准输出设备(即显示器)相关联 scer与标准错误输出设备(默认为显示器)相关联 (非缓冲方式) >clog与标准错误输出设备(默认为显示器)相关联 (缓冲方式)
第一节 流库的类层次结构 ⑷ cin、cout、cree、clog对象——在iostream.h中定义: ➢ extrean istrema_withassign cin ; ➢ extrean ostrema_withassign cout ; ➢ extrean ostrema_withassign cerr; ➢ extrean ostrema_withassign clog ; 其中: ➢cin与标准输入设备(即键盘)相关联 ➢cout 与标准输出设备(即显示器)相关联 ➢cerr 与标准错误输出设备(默认为显示器)相关联 (非缓冲方式) ➢clog与标准错误输出设备(默认为显示器)相关联 (缓冲方式)
第一节流库的类层次结构 ()C+新标准流库 >C+新标准流库所包含的头文件都不带h,仍然用 承的万法建立输入输入出(o)类库“菜用 板建立—安全性、可扩充性更好。 >新标准流库层次结构(教材P346图78 >新标准流库中常用的头文件(教材①P52) ☆ iostream:当用预定义流对象cin/cout进行输入/输 出操作时,必须用头文件引入到程序中 ★ fstream:当使用文件流对象进行文件读写操作时, 必须用头又件号人到程序中 ★ strstream:当使用字符串流对象 符串进入输 入输出操作时,必须用头文件引入到程序中 ★ sstream ★ toman:当使用setw()等函数进行格式化输入 输出时,必须用头文件引入到程序中;
第一节 流库的类层次结构 ㈡ C++新标准流库 ➢C++新标准流库所包含的头文件都不带.h ,仍然用继 承的方法建立输入输入/输出(I/O)类库——采用模 板建立——安全性、可扩充性更好。 ➢新标准流库层次结构(教材①P346图7.8) ➢新标准流库中常用的头文件(教材①P52): iostream: 当用预定义流对象cin/cout进行输入/输 出操作时,必须用头文件引入到程序中; fstream:当使用文件流对象进行文件读写操作时, 必须用头文件引入到程序中; strstream: 当使用字符串流对象对字符串进入输 入/输出操作时,必须用头文件引入到程序中; sstream: iomanip:当使用setw( )等函数进行格式化输入 输出时,必须用头文件引入到程序中;
第一节流库的类层次结构 4个预定义标准流对象 >在C++新标准流库中将类模板 basic istres basic ostream实例化为模板类,并重新定义为 istream、 ostream(以便与旧标准相同)如 type basic ostream<char char traits<char>> ostream 预定义四个标准流对象: extern istream cin extern ostream cout extern ostream cerr; extern ostream clog i 含义与旧标准的相同
第一节 流库的类层次结构 ㈢ 4个预定义标准流对象 ➢在C++新标准流库中将类模板basic_istream、 basic_ostream实例化为模板类,并重新定义为istream、 ostream(以便与旧标准相同)如: type basic_ostream<char,char_traits<char>> ostream ➢预定义四个标准流对象: extern istream cin ; extern ostream cout ; extern ostream cerr ; extern ostream clog ; —— 含义与旧标准的相同
第二节輸出流 在C++中,将“<<”(即左移运算符)重载为输出运 算符; >输出运算符“<”有二个运算分量,左边(左分量 为输出流 ostream对象(cout),右边(右分量)为 基本类型数据 >可以重载“<”输出结构变量或类对象。 基本数据类型数据输出 二、0 stream类中的主要成员函数 pu(函数 >函数原型声明 ostream &ostream: put( char c); >作用:可用作为二进制数据(字节)或单个字符输出。 >调用格式: cout.put字符)
第二节 输出流 ➢在C++中,将“<<”(即左移运算符)重载为输出运 算符; ➢输出运算符“<<”有二个运算分量,左边(左分量) 为输出流ostream对象(cout),右边(右分量)为一 个基本类型数据 ➢可以重载“<<”输出结构变量或类对象。 一、基本数据类型数据输出 二、ostream类中的主要成员函数 1、put( )函数 ➢函数原型声明 ostream &ostream::put( char c); ➢作用:可用作为二进制数据(字节)或单个字符输出。 ➢调用格式:cout.put(字符)