Модераторы: LSD
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Какие функции нельзя использовать в ООП-программе? 
:(
    Опции темы
ZZZkoderZZZ
Дата 11.3.2013, 12:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 54
Регистрация: 11.3.2013




Очевидно, что нельзя использовать функции, унаследованные из языка С. Например выводить на консоль printf-ом.
Но тот-же cout является всего лишь ООП-оберткой вокруг printf, и использованием printf нарушает принципы ООП. То же самое относится к многим другим ф-ям из подключаемых заголовков. 

Так как же вывести на консоль в ООП-программе?

Какие библиотеки написаны от начала до конца в стиле ООП?
PM MAIL   Вверх
Dem_max
Дата 11.3.2013, 12:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1780
Регистрация: 12.4.2007




Цитата

и использованием printf нарушает принципы ООП

printf это всего лишь какая то функция которая что то делает. И то что она не является членом класса, не означает нарушение ООП


--------------------
Американские программисты долго не могли понять, почему русские при зависании Windоws всё время повторяют "Твой зайка написал" ("Yоur bunnу wrоte")
PM MAIL   Вверх
xvr
Дата 11.3.2013, 12:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 7046
Регистрация: 28.8.2007
Где: Дублин, Ирландия




Цитата(ZZZkoderZZZ @  11.3.2013,  12:23 Найти цитируемый пост)
Очевидно, что нельзя использовать функции, унаследованные из языка С.

Ой. Позвольте напомнить вам, как расшифровывается ООП - Объектно Ориентированное Программирование. Т.е. ООП вовсе не означает, что программа будет состоять из одних только объектов. Более того, С++ реализует свою собственную парадигму ООП, и она вовсе не означает, что в программе должно быть все на объектах. Конечно можно сделать все на объектах - может получиться мертворожденный монстр  smile 

Если вам нужно чистое ОП используйте другие языки, Smalltalk например

Добавлено через 40 секунд
Или Objective-C. Как это не странно, он более ОП язык, чем С++  smile 

PM MAIL   Вверх
borisbn
Дата 11.3.2013, 13:40 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 4875
Регистрация: 6.2.2010
Где: Ростов-на-Дону




Цитата(ZZZkoderZZZ @  11.3.2013,  12:23 Найти цитируемый пост)
Очевидно, что нельзя использовать функции, унаследованные из языка С.

Подскажи, а как при помощи ООП посчитать синус или экспоненту ?
Цитата(ZZZkoderZZZ @  11.3.2013,  12:23 Найти цитируемый пост)
Так как же вывести на консоль в ООП-программе?

если ты имеешь в виду не в ООП-программе, а в программе на Си++, то std::ostream

2 ТС: не читай, пожалуйста, дальше
хотя... если признаться честно, то я с бОльшим удовольствием использую printf. его форматирование намного удобнее, чем ostream'овское


--------------------
Женщины отличаются от программистов тем, что у них чары состоят из стрингов
PM MAIL Jabber   Вверх
volatile
Дата 11.3.2013, 17:37 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2107
Регистрация: 7.1.2011




Цитата(ZZZkoderZZZ @  11.3.2013,  12:23 Найти цитируемый пост)
Но тот-же cout является всего лишь ООП-оберткой вокруг printf, 

тот же cout являецца представителем STL, стандартной С++ библиотеки, которая (в целом) к принципам ООП имеет весьма отдаленное (мягко говоря) отношение. smile 

PM MAIL   Вверх
bsa
Дата 11.3.2013, 21:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 9185
Регистрация: 6.4.2006
Где: Москва, Россия




Цитата(ZZZkoderZZZ @  11.3.2013,  13:23 Найти цитируемый пост)
Очевидно, что нельзя использовать функции, унаследованные из языка С.
кому? кто такую чушь сказал? связь программы с внешним миром возможна только через обычные функции.
Цитата(ZZZkoderZZZ @  11.3.2013,  13:23 Найти цитируемый пост)
Но тот-же cout является всего лишь ООП-оберткой вокруг printf
Вот это новость так новость...

ООП - это вообще другое. Эта штука над-языковая. Можно используя ООП писать хоть на ассемблере.

Читай книжки лучше, а не позорься такими вопросами. Список литературы есть в ответах на часто задаваемые вопросы в разделе для Новичков.
PM   Вверх
Dem_max
Дата 12.3.2013, 04:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1780
Регистрация: 12.4.2007




Цитата

итай книжки лучше, а не позорься такими вопросами.

За это все его темы сразу были перемещены в мусорку на Sources ру


--------------------
Американские программисты долго не могли понять, почему русские при зависании Windоws всё время повторяют "Твой зайка написал" ("Yоur bunnу wrоte")
PM MAIL   Вверх
ZZZkoderZZZ
Дата 12.3.2013, 09:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 54
Регистрация: 11.3.2013




Цитата(bsa @ 11.3.2013,  21:12)
Цитата(ZZZkoderZZZ @  11.3.2013,  13:23 Найти цитируемый пост)
Но тот-же cout является всего лишь ООП-оберткой вокруг printf
Вот это новость так новость...

А каким-образом по-вашему производится непосредственный вывод текста в консоль? 
Дошел в отладчике от cout<<2 до sprintf_s. 
Не printf, но почти то же самое. Ф-я на языке С, никакого ООП.

Это сообщение отредактировал(а) ZZZkoderZZZ - 12.3.2013, 09:01
PM MAIL   Вверх
borisbn
Дата 12.3.2013, 09:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 4875
Регистрация: 6.2.2010
Где: Ростов-на-Дону




ZZZkoderZZZ,
1) классы и (особенно) перегрузка операторов - ни разу не ООП
2) а ты уверен, что в GCC cout реализован так же ?


--------------------
Женщины отличаются от программистов тем, что у них чары состоят из стрингов
PM MAIL Jabber   Вверх
fish9370
Дата 12.3.2013, 09:36 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 663
Регистрация: 15.4.2007
Где: Москва




Цитата(ZZZkoderZZZ @  12.3.2013,  09:00 Найти цитируемый пост)
Дошел в отладчике от cout<<2 до sprintf_s. Не printf, но почти то же самое. Ф-я на языке С, никакого ООП.


представляешь, а дальше идет машинный код - ассемблер, представляешь? и никакого ООП..

ты немного неадекватный, тебе каждый второй на этом форуме уже сказал - ООП это не язык программирования - это подход к программированию

вопросы у тебя пока еще глупые, видимо возраст еще не тот


--------------------
undefined
PM MAIL WWW ICQ   Вверх
bsa
Дата 12.3.2013, 10:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 9185
Регистрация: 6.4.2006
Где: Москва, Россия




Цитата(ZZZkoderZZZ @  12.3.2013,  10:00 Найти цитируемый пост)
Дошел в отладчике от cout<<2 до sprintf_s. 

отлично. а если пойдешь дальше, то дойдешь до vsprintf_s, затем до fwrite, write и WriteConsoleOutput. только функция WriteConsoleOutput (гуру в WinAPI, я не ошибся?) позволяет выводить на консоль. Все остальное существует исключительно для удобства программирования и соответствия стандартам языка.
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила раздела «Флейм»
Sneg0k

Добро пожаловать в «Флейм».

В разделе не действуют многие правила:

  • Можно оффтопить(умеренно)
  • Можно общаться на темы, не только связанные с программированием.

Строго запрещено:

  • Размещать рекламу
  • Обсуждать политику
  • Оскорблять друг-друга и переходить на личности
  • Наезжать, провоцировать других участников форума
  • Материться
  • Троллить

Напоминаем о существовании волшебной кнопочки "Репорт". Если вы увидели сообщение, несовместимое с жизнью, просьба подвести на нее курсор и клацнуть левой клавишей мышки. Тем самым вы сможете призвать злого, но жутко справедливого джина-модератора, который нашлет порчу на злостного нарушителя. Кстати - счётчик сообщений здесь не растёт.


Глас Винграда:


Глас Философии:


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Sneg0k

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Флейм | Следующая тема »


 




[ Время генерации скрипта: 0.0548 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.