Форум программистов, компьютерный форум CyberForum.ru

C++

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 19, средняя оценка - 4.58
kravam
быдлокодер
1693 / 880 / 44
Регистрация: 04.06.2008
Сообщений: 5,436
#1

Как создать виртуальный поток и переопределить оператор <<? - C++

02.01.2011, 02:48. Просмотров 2398. Ответов 21
Метки нет (Все метки)

Виртуальный то есть имеется ввиду не файловый и не строковый и не консольный.

Впрочем, создание сего не противоречит синтаксису. Вот, например, тут написано про поток
ostream и про оператор <<

Так а теперь мой код:
C++
1
2
3
4
5
6
7
8
9
#include <iostream>
using namespace std;
 
int main (){
 int k= 87;;
 ostream o();
 o<< k;
 return 0;
}
Коспилятор пишет: неизвестные типы операндов... И так далее.
Как неизвестные? Всё известно.
Вот, идём по сссылке и видим один из вариантов (мой)
C++
1
ostream& operator<< (int& val );
Но почему-то не получается. Помогите пожалуйста, друзья! Спасибо заранее.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.01.2011, 02:48     Как создать виртуальный поток и переопределить оператор <<?
Посмотрите здесь:
C++ Создать класс Str (символьная строка). Переопределить оператор присвоения.
C++ Как переопределить оператор ++ типа char?
Как можно сделать виртуальный поток ввода / вывода? C++
C++ Переопределить поток вывода cout
C++ Переопределить оператор << в классе
Visual C++ Переопределить оператор присваивания
Как перегрузить оператор вывода в поток для вектора? C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
XomyaC++
7 / 7 / 1
Регистрация: 25.12.2010
Сообщений: 41
02.01.2011, 21:14     Как создать виртуальный поток и переопределить оператор <<? #21
kravam, я так понимаю задача не "переписать список в Verylong" а попользоваться operator<<(), так? Судя по всему здесь совсем не нужно так заморачиваться по поводу перевода данных в другой класс. Все решается довольно просто с помощью дополнительных функций-переводчиков, который могут вообще не относится ни к одному классу. И если так хочется использовать <<, то можно объявить verylong &operator<<(verylong &vv, list<char> &ll);
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.01.2011, 21:23     Как создать виртуальный поток и переопределить оператор <<?
Еще ссылки по теме:
C++ виртуальный оператор (двусвязный список, наследование)
Подскажите, нужно перегрузить оператор или создать метод(если создать то не понимаю как) записи в файл C++
C++ WinAPI Как создать поток?
Visual C++ Как создать дополнительный поток?
Visual C++ Как в VS 2008 создать поток?

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Nick Alte
Эксперт С++
1608 / 1000 / 118
Регистрация: 27.09.2009
Сообщений: 1,930
Завершенные тесты: 1
02.01.2011, 21:23     Как создать виртуальный поток и переопределить оператор <<? #22
Насколько я понимаю, стоит задача породить Verylong из list<char>. Можно создать свой класс, унаследовав его от list<char> и определить в нём преобразование в const char*. Либо как функцию по типу string::c_str(), либо как оператор неявного преобразования. Проще всего завести в том же классе переменную типа string, в которую при вызове преобразования и собирать все символы, а затем пользоваться той же c_str(). Такой класс за счёт унаследованного интерфейса можно использовать точно так же, как list<char> и порождать из него Verylong конструктором из const char*. Это не очень эффективное в плане производительности и использования памяти решение (что едва ли важно в этом случае), но зато достаточно простое и очевидное.
Yandex
Объявления
02.01.2011, 21:23     Как создать виртуальный поток и переопределить оператор <<?
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru