2 回答

TA貢獻(xiàn)1911條經(jīng)驗(yàn) 獲得超7個(gè)贊
改成友員函數(shù),如下:
//"long_int.h"
#ifndef LONG_INT
#define LONG_INT
#include<iostream>
#include<vector>
using std::istream;
using std::ostream;
using std::vector;
class long_int
{
public:
friend istream &operator >>(istream &in,long_int &l);
friend ostream &operator <<(ostream &out,long_int &l);
private:
vector<char> longint;
};
istream& operator >>(istream &in, long_int &l)
{
char input;
in>>input;
while(input!='#')
{
if(input>='0'&&input<='9')
l.longint.push_back(input);
in>>input;
}
return in;
}
ostream & operator <<(ostream &out,long_int &l)
{
for(int i=0;i<l.longint.size();i++)
out<<l.longint[i];
return out;
}
#endif
//"main.cpp"
#include "long_int.h"
#include <iostream>
using std::cout;
using std::cin;
using std::endl;
int main()
{
long_int a;
cin>>a;
cout<<endl;
cout<<a;
cout<<endl;
return 0;
}

TA貢獻(xiàn)1834條經(jīng)驗(yàn) 獲得超8個(gè)贊
重載運(yùn)算符>>和<<
只能有一個(gè)參數(shù),你的有2個(gè)。
就像運(yùn)算符+-*/一樣,
2個(gè)參數(shù)那是友元函數(shù)的形式。
添加回答
舉報(bào)