Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.57/7: Рейтинг темы: голосов - 7, средняя оценка - 4.57
DartLenin
36 / 36 / 0
Регистрация: 24.05.2009
Сообщений: 178
1

new cout

18.10.2011, 16:38. Просмотров 1301. Ответов 14
Метки нет (Все метки)

Как создать свой объект-аналог cout?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.10.2011, 16:38
Ответы с готовыми решениями:

Cout <<endl; Что это значит? Если ничего нету в cout?
Здравствуйте ! Обьясните пожалуйста что значит cout &lt;&lt;endl; если он...

Подскажите почему после первого cout программа не останавливается для ввода строки, а выводит второй cout
Подскажите почему после первого cout программа не останавливается для ввода...

В чем разница std::cout и просто cout?
Ребят ,подскажите на простом языке для чайников . В чем разница std::cout и...

Cout like: перегрузить оператор<< по примеру объекта cout для extern объекта пользовательского типа
Мне нужен extern объект по примеру cout с перегруженным оператором. Я нечто...

cout.setf и cout.precision
Здравствуйте. В одной книге увидел строчку кода: cout.precision(2);...

14
silent_1991
Эксперт С++
5010 / 3070 / 270
Регистрация: 11.11.2009
Сообщений: 7,044
Завершенные тесты: 1
18.10.2011, 16:43 2
std::cout - объект класса std::ostream.
0
DartLenin
36 / 36 / 0
Регистрация: 24.05.2009
Сообщений: 178
18.10.2011, 16:46  [ТС] 3
мне нужен свой cout. например я хочу создать объект класса ostream, который называется ncout и делает то же самое, что и cout. Как это сделать?
0
Deviaphan
Делаю внезапно и красиво
Эксперт С++
1306 / 1221 / 72
Регистрация: 22.03.2011
Сообщений: 3,744
18.10.2011, 16:47 4
Цитата Сообщение от DartLenin Посмотреть сообщение
Как это сделать?
typedef std::cout ncout;
0
DartLenin
36 / 36 / 0
Регистрация: 24.05.2009
Сообщений: 178
18.10.2011, 16:50  [ТС] 5
нет. мне нужно реализовать его как будто, если бы не существовало cout.
0
gooseim
Эксперт С++
511 / 415 / 92
Регистрация: 23.09.2010
Сообщений: 1,163
18.10.2011, 17:11 6
DartLenin, сделай класс, унаследованный от ostream, точнее лучше basic_ostream (если не путаю), перегрузи несколько виртуальных функций и все будет как надо.

Добавлено через 1 минуту
Если делать с буфером, то чуть посложнее.
0
DartLenin
36 / 36 / 0
Регистрация: 24.05.2009
Сообщений: 178
18.10.2011, 17:15  [ТС] 7
cout ведь просто объект класса ostream. его как то связали с stdout(или я что-то не так понимаю?). разве нельзя использовать конструктор ostream для создания cout?
0
Bers
Заблокирован
18.10.2011, 17:23 8
Цитата Сообщение от DartLenin Посмотреть сообщение
мне нужен свой cout. например я хочу создать объект класса ostream, который называется ncout и делает то же самое, что и cout. Как это сделать?
У меня такие смутные сомнения, что вопрос содержит 100% ответа
0
DartLenin
36 / 36 / 0
Регистрация: 24.05.2009
Сообщений: 178
18.10.2011, 17:29  [ТС] 9
Цитата Сообщение от Bers Посмотреть сообщение
У меня такие смутные сомнения, что вопрос содержит 100% ответа
Но я не знаю что передать конструктору ostream чтобы получить аналог cout.
0
Bers
Заблокирован
18.10.2011, 17:35 10
Цитата Сообщение от DartLenin Посмотреть сообщение
Но я не знаю что передать конструктору ostream чтобы получить аналог cout.
Есть такая замечательная вещь, рекомендую!
http://www.cplusplus.com/reference/iostream/ostream/ostream/
1
Dekio
Фрилансер
Эксперт С++
5838 / 1219 / 499
Регистрация: 23.11.2010
Сообщений: 3,377
Записей в блоге: 1
18.10.2011, 17:38 11
C++
1
2
    std::ostream *ncout;
    ncout = &std::cout;
Может быть вам указатель надо?
0
DartLenin
36 / 36 / 0
Регистрация: 24.05.2009
Сообщений: 178
18.10.2011, 17:48  [ТС] 12
Цитата Сообщение от Bers Посмотреть сообщение
Есть такая замечательная вещь, рекомендую!
http://www.cplusplus.com/reference/iostream/ostream/ostream/
это было первое место куда я зашел) но там используется файлбаф, а мне нужно вывести на консоль. хм...если только инициализировать stdout'ом...хм, с остримом и вправду работает, а вот с наследником нет, пойду разбираться, пока спасибо)
0
diagon
Higher
1937 / 1203 / 120
Регистрация: 02.05.2010
Сообщений: 2,925
Записей в блоге: 2
18.10.2011, 17:51 13
Цитата Сообщение от Dekio Посмотреть сообщение
Может быть вам указатель надо?
Зачем? Все проще
C++
1
std::ostream& ncout = std::cout;
0
Evg
Эксперт CАвтор FAQ
19313 / 7168 / 533
Регистрация: 30.03.2009
Сообщений: 20,050
Записей в блоге: 30
18.10.2011, 21:14 14
Господа, советующие заиспользовать существующий cout, поймите вы наконец, что ТС'у нужно научиться реализовать самому что-то подобное, а никак не задействовать существующий cout методом извратов
1
xAtom
918 / 743 / 299
Регистрация: 09.12.2010
Сообщений: 1,346
Записей в блоге: 1
19.10.2011, 08:15 15
можно архаичным способом.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
#include <stdio.h>
 
class mycout {
public:
  mycout& operator << (char ch) { 
    putc(ch, stdout);
    return *this;
  }
  mycout& operator << (const char* str) { 
    fprintf(stdout, str);
    return *this;
  }
  mycout& operator << (float f) {
    fprintf(stdout, "%f", f);
    return *this;
  }
  mycout& operator << (double d) {
    fprintf(stdout, "%lf", d);
    return *this;
  }
  mycout& operator << (int n) {
     fprintf(stdout, "%d", n);
     return *this;
  }
  mycout& operator << (long n) {
     fprintf(stdout, "%ld", n);
     return *this;
  }
  mycout& operator << (unsigned n) {
      fprintf(stdout, "%u", n);
      return *this;
  }
 //...
} _cout;
 
int main(){
   _cout << '1' << '+' << '2' << '\n';
   _cout << "Hello" << ' ' << "Ocean !!!" << '\n';
 
   _cout << 3.1459 << '|' << 34.96f << '\n';
   _cout << "int: " << 7000 << '\n' << "long: " << 7000L << '\n';
   _cout << "unsigned: " << 45000u << '\n';
   getchar();
   return 0;
}
0
19.10.2011, 08:15
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.10.2011, 08:15

cout vs. std::cout
всем доброго времени суток. начал самостоятельно изучать c++. скачал в сети...

почему то не переводит на другую строку cout << "введенный пункт назначения:" << a[i].pn << ' ' ; cout << "введенный пункт назначения:" << a[i].num
struct Train { char pn ; unsigned int num; char time ; }; void Copy...

[C++] cout От A до Z и от 0 до 9
Атач - задание, Задание из книжки Бьярна Страуструпа Вот что знаю: //...


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

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Опции темы

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