Как мне вернуть строку текста таким образом в C ++? - PullRequest
0 голосов
/ 04 февраля 2020

В моем коде мне поручено создание базового c фреймворка для игры.

Item::Item(string itemName, int cost) {
    name = itemName;
    value = cost;
}

Каждый элемент извлекает из вышеприведенного конструктора имя и значение, и функция toString, представленная ниже, должна возвращать строку в формате, если бы он был в cout, что-то вроде

cout << name << "(" << value << ") gold";
string Item::toString() {

}

Проблема в том, что я не знаю, как вернуть что-то подобное.

1 Ответ

1 голос
/ 04 февраля 2020

Вы можете использовать std::ostringstream, например:

#include <string>
#include <sstream>

std::string Item::toString() {
    std::ostringstream oss;
    oss << name << "(" << value << ") gold";
    return oss.str();
}

В качестве альтернативы, вы можете использовать простую конкатенацию строк, например:

#include <string>

std::string Item::toString() {
    return name + "(" + std::to_string(value) + ") gold";
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...