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

标签 c++

我是 C++ 新手,正在学习在线教程,我已经多次复制了这些人的代码,但无法找出问题所在。它只是输出乱码文本。

我正在使用代码:: block

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

https://gyazo.com/9c2786ef20fb3878354a72904d126f7e

我的实际代码

ma​​in.cpp

#include <iostream>
#include "Person.h"

using namespace std;

 int main()
   {
Person person;

cout << person.toString() << endl;


return 0;
}

Person.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;


}

Person.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();
}

关于c++ - 字符串流问题,我认为我的代码看起来不错,但它显示奇怪的符号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37473264/

相关文章:

c++ - 为什么在打印函数时我总是得到输出 1?

c++ - Q_UNUSED 相对于省略参数名称有什么好处?

c++ - 隐式字段初始化规则

c++ - 将字符串分配给 char 数组

c++ - Minimax 算法究竟是如何工作的?

c++ - 为什么要增加我的 openmp 代码的执行时间?

c++ - operator++在正向迭代器上做什么

c++ - 可以通过编程方式控制进入笔记本电脑的交流电源吗?

c++ - 目标文件与库文件,为什么?

c++ - 如何使用 VirtualDesktopManager 界面?