输出加了一个格式的处理,注意引用的运用
#include <iostream>
#include <cstdlib>
#include <limits>
using namespace std;
class MyComplex
{
private:
double real;
double imag;
public:
friend istream& operator>>(istream &os, MyComplex &z)
{
os >> z.real >> z.imag;
return os;
}
friend ostream& operator<<(ostream &os, MyComplex &z)
{
os.unsetf(std::ios::showpos);
os << "(" << z.real;
os.setf(std::ios::showpos);
os << z.imag<< "i)"<<endl;
return os;
}
};
int main()
{
MyComplex z1, z2;
cin >> z1;
cin >> z2;
cout << z1 << " " << z2 << endl; //z1和z2之间间隔1个空格
// GCC及VC编译器在调试模式下会暂停,便于查看运行结果
#if ( defined(__DEBUG__) || defined(_DEBUG) )
cin.ignore(numeric_limits<streamsize>::max(), '\n');
cin.get();
#endif
return 0;
}