程序设计与算法(三)第02周测验003:超简单的复数类
本文是中国大学MOOC,北京大学程序设计与算法(三)C++面向对象程序设计第二周测验。
-
总时间限制:
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
结合
void Print() {
cout << r << "+" << i << "i" << endl;
}
a = "3+4i"; a.Print();
a = "5+6i"; a.Print();
我们知道我们要写一个函数将3+4i
的实部与虚部拆分为r
与i
并输出。
将字符串转换为r
与i
,我们知道这个函数是类型转换构造函数
所以我们可以写成这样:
Complex(){} //有定义Complex a,所以必须写个无参构造函数
Complex(char x[])
{
r=x[0]-'0';
i=x[2]-'0';
}
不要复杂化问题,题目输入只是3+4i
和5+6i
,不要整出substr
的幺蛾子
提交,通过,记得下载通过码