c++ 输入输出提取符问题 运行错误 高手帮忙 多谢!
发布网友
发布时间:2024-09-30 14:02
我来回答
共2个回答
热心网友
时间:2024-10-26 04:52
你的程序最终被改成了这个样子。有几个地方你注意:
1,VC6至少要打补丁到SP6,否则友元函数那里不过。
2,<<操作,应该用一个引用;
3,应该提供一个默认构造函数,我是用默认参数的办法处理的;
4,很多参数名字和全局变量名重复,我不太喜欢,所以都改了
#include <iostream>
using namespace std;
class mycomplex
{
private:
int real;
int imag;
public:
mycomplex(int real=0,int imag=0);
virtual ~mycomplex();
friend ostream& operator<<(ostream& co,mycomplex& cp);
friend istream& operator>>(istream& ci,mycomplex& cp);
};
mycomplex::mycomplex(int vreal,int vimag)
{
real = vreal ;
imag = vimag ;
}
mycomplex::~mycomplex()
{
}
ostream& operator<<(ostream& co,mycomplex& cp)
{
co<<"("<<cp.real<<","<<cp.imag<<")"<<endl;
return cout;
}
istream& operator>>(istream& ci,mycomplex& cp)
{
cout<<"intput cp.real & cp.imag"<<endl;
ci>>cp.real>>cp.imag;
return cin;
}
int main()
{
mycomplex cp(3,5);
cout<<cp;
mycomplex cx;
cin>>cx;
cout<<cx;
return 0;
}
热心网友
时间:2024-10-26 04:53
istream& operator>>(istream& cout,complex& cp)
改成
istream& operator>>(istream& cin,complex& cp)
当然,这个函数本身这样写就没什么意义。。。
热心网友
时间:2024-10-26 04:52
你的程序最终被改成了这个样子。有几个地方你注意:
1,VC6至少要打补丁到SP6,否则友元函数那里不过。
2,<<操作,应该用一个引用;
3,应该提供一个默认构造函数,我是用默认参数的办法处理的;
4,很多参数名字和全局变量名重复,我不太喜欢,所以都改了
#include <iostream>
using namespace std;
class mycomplex
{
private:
int real;
int imag;
public:
mycomplex(int real=0,int imag=0);
virtual ~mycomplex();
friend ostream& operator<<(ostream& co,mycomplex& cp);
friend istream& operator>>(istream& ci,mycomplex& cp);
};
mycomplex::mycomplex(int vreal,int vimag)
{
real = vreal ;
imag = vimag ;
}
mycomplex::~mycomplex()
{
}
ostream& operator<<(ostream& co,mycomplex& cp)
{
co<<"("<<cp.real<<","<<cp.imag<<")"<<endl;
return cout;
}
istream& operator>>(istream& ci,mycomplex& cp)
{
cout<<"intput cp.real & cp.imag"<<endl;
ci>>cp.real>>cp.imag;
return cin;
}
int main()
{
mycomplex cp(3,5);
cout<<cp;
mycomplex cx;
cin>>cx;
cout<<cx;
return 0;
}
热心网友
时间:2024-10-26 04:53
istream& operator>>(istream& cout,complex& cp)
改成
istream& operator>>(istream& cin,complex& cp)
当然,这个函数本身这样写就没什么意义。。。