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

Наследование от std::ostream - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Подсчитать в строке количество символов, меньших символа "К" http://www.cyberforum.ru/cpp-beginners/thread1218233.html
Ввести строку символов. Подсчитать количество символов меньше символа «К». Вывести результат на экран. Помогите решить, пожалуйста.
C++ Отключение предупреждений при подключении сторонних библиотек Доброго времени суток! возник вопрос - чисто теоретический - допустим, что я подключил библиотеку, криво-написанную, но работающую, соответственно от нее у меня в проекте куча ворнингов - ну просто очень много, хочу их отключить - проект то очень большой - могу своих ляпов не заметить! думал через #pragma отключить, но не задача - приложение кросс-платформенное, и соответственно такой подход к... http://www.cyberforum.ru/cpp-beginners/thread1218199.html
C++ Дан одномерный массив из 25 чисел. Найти суму первых непарных 11 чисел
5.14. Дано одновимірний масив Х, який складається з 15 елементів. Визначити півсуму найбільшого і найменшого елемента масиву. 6.3 Дано одновимірний масив з 25 чисел. Знайти суму перших непарних 11 чисел составте блок-схемы плиззз очень надо срочно
Создать функцию нахождения количества элементов одномерного массива C++
Создать функцию нахождения количества элементов одномерного массива, по модулю меньших введенного с клавиатуры значения K . Для работы с массивами используйте указатели. Применить функцию к двумерному целочисленному масиву A(N,M), где N и M вводятся с клавиатуры
C++ Загрузка информации из файла (система рекордов в игре "Змейка") http://www.cyberforum.ru/cpp-beginners/thread1218106.html
Не получается сделать считывание из файла и загрузки рекорда,помогите.Пытался сам,но всё запорол#include <glut.h> #include <iostream> #include <time.h> #include <windows.h> using namespace std; int score = 0; int record = 0; int N = 52,M = 25;
C++ Как несколько раз использовать метод добавления элементов в массивы, если все значения разные В классе есть метод добавления в массив. Как мне в программе несколько раз использовать этот метод класса, если нужно одновременно несколько массивов, но каждый со своими значениями. Нужно создавать такой же класс? Ребята, вы лучшие!))) подробнее

Показать сообщение отдельно
Tulosba
:)
Эксперт С++
4378 / 3221 / 297
Регистрация: 19.02.2013
Сообщений: 9,044
27.06.2014, 14:14  [ТС]     Наследование от std::ostream
Кривое решение:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <iostream>
     
class DebugMessage
{
private:
    std::ostream& stream;
public:
    DebugMessage() : stream( std::cout ) { }
    virtual ~DebugMessage() { stream << std::endl; }
    operator std::ostream&() { return stream; }
};
     
int main(int argc, char *argv[])
{
    static_cast<std::ostream&>(DebugMessage()) << "hello" << 42;
    return 0;
}
http://ideone.com/Ic7QCh

Добавлено через 8 минут
Или всё же лучше так:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <iostream>
 
class DebugMessage 
{
private: 
    std::ostream& stream;
public:
    DebugMessage() : stream( std::cout ) { }
    virtual ~DebugMessage() { stream << std::endl; }
    
    template<typename T>
    std::ostream& operator<<( const T& t ) const
    {
        return stream << t;
    }
};
 
int main(int argc, char *argv[])
{
    DebugMessage() << "hello" << 42;
    return 0;
}
http://ideone.com/lmcSD3
 
Текущее время: 20:03. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru