POJ C++程序设计 编程题#1 编程作业—运算符重载
编程题 #1
来源: POJ (Coursera声明:在POJ上完成的习题将不会计入Coursera的最后成绩。)
注意: 总时间限制: 1000ms 内存限制: 65536kB
描述
下面程序的输出是:
3+4i
5+6i
请补足Complex类的成员函数。不能加成员变量。
#include <iostream> #include <cstring> #include <cstdlib> using namespace std; class Complex { private: double r,i; public: void Print() { cout << r << "+" << i << "i" << endl; } // 在此处补充你的代码 }; int main() { Complex a; a = "3+4i"; a.Print(); a = "5+6i"; a.Print(); return 0; }
输入
无
输出
3+4i
5+6i
样例输入
无
样例输出
3+4i 5+6i
1 #include <iostream> 2 #include <cstring> 3 #include <cstdlib> 4 using namespace std; 5 class Complex { 6 private: 7 double r,i; 8 public: 9 void Print() { 10 cout << r << "+" << i << "i" << endl; 11 } 12 // 在此处补充你的代码 13 Complex & operator=(string s) { 14 int position = s.find("+", 0); 15 string firstPart = s.substr(0, position); 16 string secondPart = s.substr(position+1, s.length() - position - 2); 17 r = atof(firstPart.c_str()); 18 i = atof(secondPart.c_str()); 19 return *this; 20 } 21 }; 22 int main() { 23 Complex a; 24 a = "3+4i"; a.Print(); 25 a = "5+6i"; a.Print(); 26 return 0; 27 }