![]() |
|
Модераторы: Daevaorn |
![]()
|
|
| varnie |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 48 Регистрация: 27.9.2007 Репутация: 0 Всего: 0 |
день добрый.
подскажите, плз, как поправить:
никак не пойму, почему нельзя заменить строку (1) на строку (2). класс RCPtr - шаблонная обертка, имеющая перегруженные операторы * и -> , следовательно, в строчке: *(str._value) мы через operator * в обертке получаем StringValue& и далее (по идее, но почему-то это не так) должен сработать определенный в классе StringValue operator<<, но нет, что-то не получается. если оставить просто строку (1), то все работает. но мне для понимания хочется разобраться, что сделать, чтобы через строку (2) получилось также вывести в поток str._value->_data... может кто поможет, подскажет? спасибо. |
|||
|
||||
| mes |
|
|||
|
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 144 Всего: 250 |
потому что при s << *(str._value); вызывается оператор << класса ostream, а не класса StringValue для решения замените метод на дружественую функцию как у String |
|||
|
||||
| varnie |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 48 Регистрация: 27.9.2007 Репутация: 0 Всего: 0 |
mes,
верно! работает.
спасибо большое за помощь! Это сообщение отредактировал(а) varnie - 24.7.2008, 23:52 |
|||
|
||||
| mes |
|
|||
|
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 144 Всего: 250 |
разместить дружественную функцию для StringValue в классе String и в ней использовать StingValue::оператор<< ()
Это сообщение отредактировал(а) mes - 25.7.2008, 00:00 |
|||
|
||||
![]()
|
| Правила форума "С++:Общие вопросы" | |
|
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |