一道C++二级考试机试题

来源:百度知道 编辑:UC知道 时间:2024/05/24 10:18:14
题目是:从文本文件in.dat中读取全部整数,将整数序列存放到intArray类的对象myArray中.然后由writeToFile选择序列中的部分数据输出到文件out.dat中.类intArray重载了[]运算符.文件in.dat中的整数个数不超过300个.
要求:
补充编制的内容写在//*************333********与//************666******两行之间.实现构造函数,从in.dat中读取全部整数存入以成员指针array为起始地址的内存空间,并将全部整数在屏幕输出,格式不限.不得修改程序的其它部分.
注意:程序最后已经将结果输出到文件out.dat中.输出函数writeToFile已经给出并调用.

题目给出的程序:
#include<iostream>
#include<fstream>
#include<cstring>
using namespace std;

class intArray
{
private:
int *array; //整数序列首地址
public:
int length; //序列中的整数个数
//构造函数,从文件中读取数据用于初始化新对象。参数是文件名。
intArray(char *filename);
int & operator[](int i); //重载运算符,实现对象赋值。
~intArray();
};

//*************333***********

//*************666***********

int& intArray::operator[](int i)
{
return array[i];
}

intArray::~intArray()
{
delete [] array;
}

void writeToF

一般来说,close函数的作用有两个 第一是释放文件句柄,第二是文件的真正写操作,如果没有他的话文件将不会进行写操作(虽然程序运行的时候硬盘稀里哗啦的转但是程序退出后会进行写还原),也就是说out.dat在你程序结束的时候可能是空的或者没有写完全或者恢复原始状态(根据不同的函数库有不同的操作)。所以~~~

没工夫细看,不过C语言上机操作,只要out.dat输出文件内容对,就会是满分,不对那就没有办法了,你自己在自己机器试试编译一下