Форум программистов, компьютерный форум 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
:)
Эксперт С++
4382 / 3225 / 297
Регистрация: 19.02.2013
Сообщений: 9,044
27.06.2014, 12:29     Наследование от std::ostream
Имеем код:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <iostream>
 
class DebugMessage : public std::ostream
{
public:
    DebugMessage() : std::ostream( std::cout.rdbuf() ) { }
    virtual ~DebugMessage() { *this << std::endl; }
};
 
int main(int argc, char *argv[])
{
    DebugMessage() << "hello" << 42;
 
    return 0;
}
На C++11 выводит
hello42
Без С++11 выводит
0x8048e2842
т.е. аргумент const char* интерпретируется как const void* и выводится адрес, а не строка.

Кто-нибудь может объяснить, почему?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 12:18. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru