003:超简单的复数类

描述

下面程序的输出是:

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

分析:从程序可以看出来,要求我们补充类型转换构造函数。首先应该补充一个无参的默认构造函数,由赋值情况可以看出,传入的参数是字符数组,需要进行char2int。

#include <cstring>
#include <iostream>
#include <iomanip>
#include <iostream>
#include <cmath>
#include <stdio.h>
#include <string>
#include <cstdio>
#include <cstring>
#include <sstream>
#include <cstdlib>
using namespace std;
class Complex
{
private:
    double r,i;
public:
    void Print()
    {
        cout << r << "+" << i << "i" << endl;
    }
    Complex() {}
    Complex(char x[])
    {
        r = x[0] - '0';
        i = x[2] - '0';
    }
};
int main()
{
    Complex a;
    a = "3+4i"; 
    a.Print();
    a = "5+6i"; 
    a.Print();
    return 0;
}

  

posted @ 2020-08-27 10:53  MEYE66  阅读(320)  评论(0)    收藏  举报