Строковый результат функции в C++
Давайте теперь будем возвращать текст из функции типом
std::string перед именем - так же, как целое число
задают типом int.
Запишем функцию func, которая
для неотрицательного числа возвращает плюс,
а для отрицательного - минус:
#include <iostream>
#include <string>
std::string func(int num) {
if (num >= 0) {
return "+";
} else {
return "-";
}
}
int main() {
std::cout << func(3) << "\n";
std::cout << func(-3) << "\n";
return 0;
}
Строку можно собрать из частей и вернуть
целиком. Запишем функцию, которая возвращает
запись вида "1+2":
#include <iostream>
#include <string>
std::string func(int num1, int num2) {
return std::to_string(num1) + "+" + std::to_string(num2);
}
int main() {
std::cout << func(1, 2) << "\n";
return 0;
}
Сделайте функцию, которая параметром принимает
число и возвращает текст "+++", если число
положительное, и "---", если отрицательное.
Что выведет каждая строка с std::cout
в результате выполнения следующего кода:
#include <iostream>
#include <string>
std::string func(int num) {
if (num >= 0) {
return "+";
} else {
return "-";
}
}
int main() {
std::cout << func(3) << "\n";
std::cout << func(-3) << "\n";
return 0;
}
Объясните почему.