鹿寨1314 2020-06-11 17:56 采纳率: 0%
浏览 82

字符串不能作为临时对象初始化对象嘛

大佬们,帮我看看这个代码那里错误啊!
#include
#include
#include
using namespace std;
class Complex {
private:
double r, i;
public:
void Print() {
cout << r << "+" << i << "i" << endl;
}
// 在此处补充你的代码
Complex() {};
Complex(const std::string& str)
{
int pos = str.find("+", 0);
string stmp = str.substr(0, pos);//分离出代表实部的字符串
r = atoi(stmp.c_str()); //将字符串转换为整数
stmp = str.substr(pos + 1, str.length() - pos - 2);//分离出代表虚部的字符串
i = atoi(stmp.c_str());
}
};
int main() {
Complex a;
//string str = "3+4i";
//a = str;a.Print();
a = "3+4i"; a.Print();
system("pause");
return 0;
}

  • 写回答

1条回答 默认 最新

  • qtchen_1988 2020-06-11 18:16
    关注
    #include <iostream>
    using namespace std;
    class Complex {
    private:
        double r, i;
    public:
        void Print() {
            cout << r << "+" << i << "i" << endl;
        }
        // 在此处补充你的代码
        Complex& operator =(const std::string& str)
        {
            int pos = str.find("+", 0);
            string stmp = str.substr(0, pos);//分离出代表实部的字符串
            this->r = atoi(stmp.c_str()); //将字符串转换为整数
            stmp = str.substr(pos + 1, str.length() - pos - 2);//分离出代表虚部的字符串
            this->i = atoi(stmp.c_str());
            return *this;
        }
    };
    int main() {
        Complex a;
        //string str = "3+4i";
        //a = str;a.Print();
        a = "3+4i"; a.Print();
        system("pause");
        return 0;
    }
    
    
    评论

报告相同问题?

悬赏问题

  • ¥15 ul做导航栏格式不对怎么改?
  • ¥20 用户端如何上传图片到服务器和数据库里
  • ¥15 现在研究生在烦开题,看了一些文献,但不知道自己要做什么,求指导。
  • ¥15 vivado封装时总是显示缺少一个dcp文件
  • ¥100 pxe uefi启动 tinycore
  • ¥15 我pycharm运行jupyter时出现Jupyter server process exited with code 1,然后打开cmd显示如下
  • ¥15 可否使用carsim-simulink进行四轮独立转向汽车的联合仿真,实现四轮独立转向汽车原地旋转、斜向形式、横移等动作,如果可以的话在carsim中如何进行相应设置
  • ¥15 Caché 2016 在Java环境通过jdbc 执行sql报Parameter list mismatch错误,但是同样的sql使用连接工具可以查询出数据
  • ¥15 疾病的获得与年龄是否有关
  • ¥15 opencv.js内存,CPU飙升