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

Работа со stream потоками+указатели - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 22, средняя оценка - 4.64
Alex_IWL
Сообщений: n/a
10.11.2010, 00:15     Работа со stream потоками+указатели #1
Всем привет. Есть функция осуществляющая вывод инфы с помощью потоков (cin, cout ...). Эту же инфу нужно выводить и в файл, поэтому хочу модернизировать функцию так чтобы передавать ей указатель на консольный поток либо файловый, однако эти объекты принадлежат разным классам и возникает проблема с типами указателей. Предпоследний мой вариант реализации был такой:
C++
1
2
3
4
5
6
7
8
9
void Show_result(ostream_withassign* con, ofstream* file) {
    void* out;
    if(file==NULL) {
        out=dynamic_cast<ostream_withassign*>(con);
    }
    else
        out=dynamic_cast<ofstream*>(file);
    out<<"101"<<endl;
}
Пока не получается. Прошу помощи.

Добавлено через 24 минуты
Вопрос снят =)
Конечный вариант
C++
1
2
3
4
5
6
7
8
9
void Show_result(ostream_withassign* con, ofstream* file) {
    ostream* out;
    if(file==NULL) {
        out=static_cast<ostream_withassign*>(con);
    }
    else
        out=static_cast<ofstream*>(file);
    *out<<"101"<<endl;
}
Все дело в иерархии классов, нужно указатель out описать на класс родитель для классов ostream_withassign и ofstream и использовать статик_каст
Ссылки по теме:
http://www.cplusplus.com/reference/iostream/
http://alenacpp.blogspot.com/2005/08/c.html
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.11.2010, 00:15     Работа со stream потоками+указатели
Посмотрите здесь:

C++ Работа с потоками
C++ работа с потоками
Visual C++ Работа с потоками в C++.
Работа с потоками. C++
C++ Работа с потоками
C++ Работа с потоками
Работа с потоками C++
C++ Работа с потоками

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

Текущее время: 14:36. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru