| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Флейм > Какие функции нельзя использовать в ООП-программе? |
| Автор: ZZZkoderZZZ 11.3.2013, 12:23 |
| Очевидно, что нельзя использовать функции, унаследованные из языка С. Например выводить на консоль printf-ом. Но тот-же cout является всего лишь ООП-оберткой вокруг printf, и использованием printf нарушает принципы ООП. То же самое относится к многим другим ф-ям из подключаемых заголовков. Так как же вывести на консоль в ООП-программе? Какие библиотеки написаны от начала до конца в стиле ООП? |
| Автор: Dem_max 11.3.2013, 12:30 | ||
printf это всего лишь какая то функция которая что то делает. И то что она не является членом класса, не означает нарушение ООП |
| Автор: borisbn 11.3.2013, 13:40 | ||
Подскажи, а как при помощи ООП посчитать синус или экспоненту ? если ты имеешь в виду не в ООП-программе, а в программе на Си++, то http://en.cppreference.com/w/cpp/io/basic_ostream 2 ТС: не читай, пожалуйста, дальше хотя... если признаться честно, то я с бОльшим удовольствием использую printf. его форматирование намного удобнее, чем ostream'овское |
| Автор: volatile 11.3.2013, 17:37 | ||
тот же cout являецца представителем STL, стандартной С++ библиотеки, которая (в целом) к принципам ООП имеет весьма отдаленное (мягко говоря) отношение. |
| Автор: bsa 11.3.2013, 21:12 | ||||
ООП - это вообще другое. Эта штука над-языковая. Можно используя ООП писать хоть на ассемблере. Читай книжки лучше, а не позорься такими вопросами. Список литературы есть в ответах на часто задаваемые вопросы в разделе для Новичков. |
| Автор: Dem_max 12.3.2013, 04:06 | ||
За это все его темы сразу были перемещены в мусорку на Sources ру |
| Автор: ZZZkoderZZZ 12.3.2013, 09:00 | ||||
А каким-образом по-вашему производится непосредственный вывод текста в консоль? Дошел в отладчике от cout<<2 до sprintf_s. Не printf, но почти то же самое. Ф-я на языке С, никакого ООП. |
| Автор: borisbn 12.3.2013, 09:02 |
| ZZZkoderZZZ, 1) классы и (особенно) перегрузка операторов - ни разу не ООП 2) а ты уверен, что в GCC cout реализован так же ? |
| Автор: fish9370 12.3.2013, 09:36 | ||
представляешь, а дальше идет машинный код - ассемблер, представляешь? и никакого ООП.. ты немного неадекватный, тебе каждый второй на этом форуме уже сказал - ООП это не язык программирования - это подход к программированию вопросы у тебя пока еще глупые, видимо возраст еще не тот |
| Автор: bsa 12.3.2013, 10:12 |
отлично. а если пойдешь дальше, то дойдешь до vsprintf_s, затем до fwrite, write и WriteConsoleOutput. только функция WriteConsoleOutput (гуру в WinAPI, я не ошибся?) позволяет выводить на консоль. Все остальное существует исключительно для удобства программирования и соответствия стандартам языка. |