关于 类中的 流 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!jijijij
#include<iostream>
#include<fstream>
#include<vector>
#include<string>
using namespace std;
class core
{
private:
ifstream in;//error 为什么在 agr 中无法使用???
vector<int>::iterator pos;
public :
core(const string &str){ifstream in(str);}//error !!!
~core(){in.close();}
void agr();
private:
void add(vector<int>& ,vector<int>&);
void sub(vector<int>& ,vector<int>&);
void mul(vector<int>&, vector<int>&);
void div (vector<int>&, vector<int>&);
};
void core::add(vector<int>& s1,vector<int>& s2)
{
cout<<endl;
for(int i=0;i<s2.size()-s1.size();i++)
cout<<" ";
for(pos=s1.begin();pos!=s1.end();pos++)
cout<<*pos;
cout<<endl;
cout<<'+';
for(int i=1;i<s1.size()-s2.size();i++)
cout<<" ";
for(pos=s2.begin();pos!=s2.end();pos++)
cout<<*pos;
cout<<endl;
cout<<"-------------------"<<endl;
vector<int>tmp;
int ii=s1.size();
int jj=s2.size();
while((ii>=0) &&(jj>=0)){
tmp.push_back(s1[ii--]+s2[jj--]);
}
while(ii>=0)
tmp.push_back(s1[ii--]);
while(jj>=0)
tmp.push_back(s2[jj--]);
for(pos=tmp.begin();pos!=tmp.end();pos++)
cout<<*pos;
cout<<endl;
}
void core::agr()
{
int n;
vector<int>s1;
vector<int>s2;
in>>n;
cout<<"the number of n=="<<n<<endl;
char y;
in>>y;
while((y>='0')&&(y<='9')){
s1.push_back(static_cast<int>(y)-48);
in>>y;
}
in>>y;
switch(y)
{
case '+': in>>y;
while((y>='0')&&(y<='9')){
s2.push_back(static_cast<int>(y)-48);
in>>y;
}
add(s1,s2);
break;
case'-':
break;
case'*':
break;
}
}
int main()
{ const string str="1103.txt";
core a(str);// 为什么文件无法打开
a.agr();
return 0;
}
//上面我已把出现问题的地方标出,,,谢谢帮助