正在加载图片...
8.1.5流类的派生用法 本节将说明建立流类的派生类,以扩充流类适应于具体的应用环境。这个程序通过重载 下标运算符建立一个虚拟文件数组,使在程序中对文件的使用就旬对内存中的数组的使用 样 考虑一个int类型的数组 int array 101 当我们引用数组中的一个元素aa时,C++编译器按表达式*(aray+i)来引用这个元素, 数组名aray作为基准地址。如果将这个数组实现为一个文件,则基准地址就是文件的开始 位置。 使用下标运算符引用的一个数组元素既可以用作左值,又可以用作右值,因此,当重载 下标运算符操作文件时,必须注意对这种情况的处理。设建立的文件数组的类名为 filearray, 从下面的程序片段 int I: a[l]=100 F=a[1; 可以重载赋值运算符,用于将一个数据作为数组的元素写入到文件中,而当从文件数组读入 个元素时,我们就不能重载赋值运算符,但在将a[置给一个变量i时,它的类型发生了 变化,因此我们可以定义一个类型转换函数,用于从文件数组中读一个元素。下面给出相应 的程序。 例85:EX85.CPP8.1.5 流类的派生用法 本节将说明建立流类的派生类,以扩充流类适应于具体的应用环境。这个程序通过重载 下标运算符建立一个虚拟文件数组,使在程序中对文件的使用就旬对内存中的数组的使用一 样。 考虑一个 int 类型的数组 int array[10]; 当我们引用数组中的一个元素 array[i]时,C++编译器按表达式*(array+i)来引用这个元素, 数组名 array 作为基准地址。如果将这个数组实现为一个文件,则基准地址就是文件的开始 位置。 使用下标运算符引用的一个数组元素既可以用作左值,又可以用作右值,因此,当重载 下标运算符操作文件时,必须注意对这种情况的处理。设建立的文件数组的类名为 filearray, 从下面的程序片段: int I; filearray a; a[1]=100; i=a[1]; 可以重载赋值运算符,用于将一个数据作为数组的元素写入到文件中,而当从文件数组读入 一个元素时,我们就不能重载赋值运算符,但在将 a[1]置给一个变量 i 时,它的类型发生了 变化,因此我们可以定义一个类型转换函数,用于从文件数组中读一个元素。下面给出相应 的程序。 例 8_5:EX8_5.CPP
<<向上翻页
©2008-现在 cucdc.com 高等教育资讯网 版权所有