C++编程问题

[复制链接]
查看11 | 回复1 | 2010-6-4 17:43:48 | 显示全部楼层 |阅读模式
在//*************333***********
//**********666*********之间补充内容,实现重载赋植运算符函数,并将结果在屏幕输出,格式不限.不得修改程序的其他部分,在线等,谢谢啊
#include
#include
#include
using namespace std;
class intArray
{
private:
int *array;
int length;
public:
intArray(char *filename);
intArray();
intArray & operator=(const intArray & src);
~intArray();
void writeToFile(char *filename);
};
intArray::intArray()
{
length=10;
array=new int[length];
}
intArray::intArray(char *filename)
{
ifstream myFile(filename);
array=new int[300];
length=0;
while(myFile>>array[length++]);
length--;
myFile.close();
}
//*************333***********
//**********666*********
intArray::~intArray()
{
delete [] array;
}
void intArray::writeToFile(char *filename)
{
int step=0;
ofstream outFile(filename);
for(int i=0; i<length; i=i+step)
{

outFile<<array<<endl;

step++;
}
outFile.close();
}
void main()
{
intArray *arrayP=new intArray("in5.dat");
intArray myArray;
myArray=*arrayP;
delete arrayP;
myArray.writeToFile("out5.dat");
}

回复

使用道具 举报

千问 | 2010-6-4 17:43:48 | 显示全部楼层
//没看出你要这样做的意义,重载函数大概是这样的。分配的空间可能存在问题intArray & intArray::operator=(const intArray & src){ delete array; array = new int[300]; length = src.length; for(int i=0;i<100;i++) {array = src.array;cout<<array<<" "; } cout<<length<<endl; return *this;};
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行