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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 8, средняя оценка - 4.75
DartLenin
36 / 36 / 2
Регистрация: 24.05.2009
Сообщений: 178
#1

new cout - C++

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

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

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

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

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

cout.setf и cout.precision - C++
Здравствуйте. В одной книге увидел строчку кода: cout.precision(2); cout.setf(ios::fixed, ios::floatfield); Объясните, что...

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

почему то не переводит на другую строку cout << "введенный пункт назначения:" << a[i].pn << ' ' ; cout << "введенный пункт назначения:" << a[i].num - C++
struct Train { char pn ; unsigned int num; char time ; }; void Copy (Train &amp;pest, Train bust) //Вспомогательная функция...

14
silent_1991
Эксперт С++
4984 / 3041 / 149
Регистрация: 11.11.2009
Сообщений: 7,027
Завершенные тесты: 1
18.10.2011, 16:43 #2
std::cout - объект класса std::ostream.
0
DartLenin
36 / 36 / 2
Регистрация: 24.05.2009
Сообщений: 178
18.10.2011, 16:46  [ТС] #3
мне нужен свой cout. например я хочу создать объект класса ostream, который называется ncout и делает то же самое, что и cout. Как это сделать?
0
Deviaphan
Делаю внезапно и красиво
Эксперт С++
1305 / 1220 / 50
Регистрация: 22.03.2011
Сообщений: 3,744
18.10.2011, 16:47 #4
Цитата Сообщение от DartLenin Посмотреть сообщение
Как это сделать?
typedef std::cout ncout;
0
DartLenin
36 / 36 / 2
Регистрация: 24.05.2009
Сообщений: 178
18.10.2011, 16:50  [ТС] #5
нет. мне нужно реализовать его как будто, если бы не существовало cout.
0
gooseim
Эксперт С++
508 / 412 / 37
Регистрация: 23.09.2010
Сообщений: 1,159
18.10.2011, 17:11 #6
DartLenin, сделай класс, унаследованный от ostream, точнее лучше basic_ostream (если не путаю), перегрузи несколько виртуальных функций и все будет как надо.

Добавлено через 1 минуту
Если делать с буфером, то чуть посложнее.
0
DartLenin
36 / 36 / 2
Регистрация: 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 / 2
Регистрация: 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/i...tream/ostream/
1
Dekio
Фрилансер
Эксперт С++
5837 / 1218 / 214
Регистрация: 23.11.2010
Сообщений: 3,378
Записей в блоге: 1
18.10.2011, 17:38 #11
C++
1
2
    std::ostream *ncout;
    ncout = &std::cout;
Может быть вам указатель надо?
0
DartLenin
36 / 36 / 2
Регистрация: 24.05.2009
Сообщений: 178
18.10.2011, 17:48  [ТС] #12
Цитата Сообщение от Bers Посмотреть сообщение
Есть такая замечательная вещь, рекомендую!
http://www.cplusplus.com/reference/i...tream/ostream/
это было первое место куда я зашел) но там используется файлбаф, а мне нужно вывести на консоль. хм...если только инициализировать stdout'ом...хм, с остримом и вправду работает, а вот с наследником нет, пойду разбираться, пока спасибо)
0
diagon
Higher
1929 / 1195 / 49
Регистрация: 02.05.2010
Сообщений: 2,925
Записей в блоге: 2
18.10.2011, 17:51 #13
Цитата Сообщение от Dekio Посмотреть сообщение
Может быть вам указатель надо?
Зачем? Все проще
C++
1
std::ostream& ncout = std::cout;
0
Evg
Эксперт CАвтор FAQ
17934 / 6161 / 408
Регистрация: 30.03.2009
Сообщений: 16,913
Записей в блоге: 27
18.10.2011, 21:14 #14
Господа, советующие заиспользовать существующий cout, поймите вы наконец, что ТС'у нужно научиться реализовать самому что-то подобное, а никак не задействовать существующий cout методом извратов
1
xAtom
915 / 740 / 60
Регистрация: 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
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.10.2011, 08:15
Привет! Вот еще темы с ответами:

cout - C++
Всем привет! В С++ не силён особо, такой вопрос. Дан массив, все элементы, которые больше 10, заменить на их квадратный корень. Это ок...

cout - C++
for(i=1;i&lt;=n;i++) cout&lt;&lt;'|'&lt;&lt;left&lt;&lt;internal&lt;&lt;ex; что здесь ни то

cout << . << . << - C++
почему cout начинает преобразовывать переменные с конца а выводить с начала ?? т.е. cout &lt;&lt; &quot;What is your name and how old are...

cout - C++
Если есть std::cout, то должен быть и просто cout. Есть ли он? И если есть, в чем отличия? А если нету, то зачем нужно было пространство...


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

Или воспользуйтесь поиском по форуму:
15
Yandex
Объявления
19.10.2011, 08:15
Ответ Создать тему
Опции темы

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