懂 C++ 的高手 赐教一下 感激不尽啊 帮帮忙啊啊啊!

来源:百度知道 编辑:UC知道 时间:2024/05/27 11:38:11
#include<iostream>
#include<iomanip>
#include<string >
#include<fstream>
using namespace std;
class inventory
{
public:
string NO;
string description ;
int quantity;
double Cost ;
double Retail;
inventory (string,string,int , double , double );
friend ostream & operator <<(ostream &fout,inventory&iv);
friend istream& operator >>(istream& fin,inventory & iv);
};
inventory::inventory (string des, string num,int quan,double cost,double retail)
{
description = des;
NO = num;
quantity = quan;
Cost = cost;
Retail = retail ;
}
ostream & operator<<(ostream &fout, inventory & iv)
{
fout<<iv.description<<setw(8)<<iv.NO<<setw(6)<<iv.quantity<<setw(6)
<<iv.Cost<<setw(6)<<iv.Retail<<endl;
return fout;
}
istream& operator>>

你用的VC6吧,这是VC6的对重载输入输出流方面的BUG,需要在代码开头进行预声明.在using namespace std;后面加上

class inventory;
ostream & operator <<(ostream &fout,inventory&iv);
istream& operator >>(istream& fin,inventory & iv);