Как вернуть значение по имени класса в C ++?

Я работаю над классом-оберткой для char[] в с ++. Что-то вроде String, Теперь я хочу получить значение из имени объекта. Например:

void main() {
String str;
str = "Hello";
cout << str;
}

Итак str вернуть character array, а также cout можете распечатать его на экране. Как я могу достичь этого в моем классе? (Кстати, я знаю, что уже есть строковый класс. Это упражнение для Data Structures урок)

-1

Решение

Это, вероятно, то, что вы имеете в виду:

std::ostream & operator << (std::ostream & os, const String & s)
{
return os << s.get_char_pointer();
}

Конечно, вам нужно будет изменить get_char_pointer к тому, что работает для вашего String,

3

Другие решения

Вы смотрите в неправильном направлении. Вы не должны str в вернуть массив символов (что, конечно, не может) Хотя технически вы можете определить оператор преобразования на ваше String Класс, это не рекомендуется, так как это может иметь непреднамеренный эффект.

Вместо, перегрузка operator<<, давая свой класс в качестве второго аргумента, и выполняйте там потоковую передачу.

2

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector