字符串流问题,我认为我的代码看起来不错,但它显示奇怪的符号

string stream issue, i think my code looks good, but it displays weird symbols

本文关键字:显示 符号 看起来 问题 代码 我的 字符串      更新时间:2023-10-16

我是 c++ 的新手,正在遵循在线教程,我已经多次复制了这家伙的代码,但无法弄清楚出了什么问题。 它只是输出乱码文本。

我正在使用代码::块

这是它输出的内容(下面的链接)

https://gyazo.com/9c2786ef20fb3878354a72904d126f7e

我的实际代码

主.cpp

#include <iostream>
#include "Person.h"
using namespace std;
 int main()
   {
Person person;
cout << person.toString() << endl;

return 0;
}

人.cpp

#include "Person.h"
#include <sstream>
Person::Person()
{
age = 0;
name = "jeff";
}
string Person::toString(){
stringstream ss;
ss << "Name: ";
ss << name;
ss << "; age: ";
ss << age;

}

人.h

#ifndef PERSON_H
#define PERSON_H
#include <iostream>
using namespace std;

class Person{
private:
string name;
int age;
public:
Person();
string toString();
};
#endif // PERSON_H

你的代码有两个问题。 您从未返回值,并且还应该使用 stringstream.str()

int main()
{
    Person person;
    cout << person.toString() << endl;
    return 0;
}
string Person::toString() {
    stringstream ss;
    ss << "Name: ";
    ss << name;
    ss << "; age: ";
    ss << age;
    return ss.str();
}