![]() |
|
Модераторы: Daevaorn |
![]()
|
|
| En_t_end |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2074 Регистрация: 4.12.2004 Репутация: 1 Всего: 20 |
Статья пока слишком сыра... поэтому кто видел - забудьте !
Это сообщение отредактировал(а) En_t_end - 30.1.2005, 20:55 |
|||
|
||||
| chipset |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 4071 Регистрация: 11.1.2003 Где: Seattle, US Репутация: 27 Всего: 165 |
Ты это, давай, выкладывай, доработаем и засунем в фак (сорри за мат)
--------------------
|
|||
|
||||
| En_t_end |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2074 Регистрация: 4.12.2004 Репутация: 1 Всего: 20 |
Здравствуй дорогой человек...// блин получилось прям, как на деревню дедушке
Если ты читаешь данную статью, то ты вероятно решил подойдти к написанию серьёзных программ на С++, я беру в расчет, что ты уже освоил базовые части языка, его синтаксис и структуру. Некоторые определения и термины базиса статьи :
Посмотрим на структуру обычной программы на С++ :
Это была программа обычного консольного приложения для win, выводящая %%%. Сейчас поясню, зачем я её привел. Ещё на заре моего познания с++, я думал, что все программы выполняются, вот так же - последовательно. Поэтому, когда я начал вникать в программирование сложных программных проектов, я везде применял этот принцип - увы это привело к плачевным послествиям - я потерял 8 месяцев совершенно не продуктивного изучения MFC. Причем нигде в источниках, не было записано простое изречение : "MFC - библиотека основанная на ООП". Если бы я увидел эту надпись, то я бы был умнее. Ну начнём... WinApi - конечно подходит для написания программ, но на самом деле, при программировании в одиночку довольно серьезных проектов можно встреиться с необычайно серьезным припятсвием - запутанность кода! С моментом выхода в свет MFC - winapi стал использоваться, как источник быстрых и понятных функций, чаще всего системных анализаторов, так как в MFC- они не получили должного внимания. MFC - Это библиотека основанная на принципах ООП. Структура библиотеки такова, что при её использовании программа меняет спецификацию отдельных элементов. Теперь программа выполняется не по шагам, как это было при программировании для консоли и под winapi. ЗЫ если ты ещё не знаешь, в операционной среде windows, программы общаются с системой посредством сообщений. MFC позволяет создавать скелеты программ, с уже функциональной системой отлова и отроботки сообщений. Причем в самой программе происходит парсинг на системные сообщения и на сообщения от элементов управления (батонов, листов, эдитов...). Короче проще : теперь вся программа состоит из двух частей : прием сообщений, обработка сообщений и выполнение соответсвенных действий. Основа MFC - классы, программисты ей делающие, уже создали большинство классов. Поэтому для создания простых программ мы можем использовать классы производные от этих классов-шаблонов. Это обеспечивает минимум кода для банальных вещей. Правда часть функций-членов этих классов приходиться перегружать, а некоторые и вовсе переинициализировать. Но это оправдывается простотой и легкостью этих процессов. Классы - обязательно изучите эти элементы языка С++ - это очень важно, так как это основа ООП, без которой вы не сможете программировать серьзные проекты !!! MFC делит свои классы по назначению, допустим CDialog, CButton, СEdit, CString.... где "C" - характерная приставка. MFC вводит новые стандарты для использования своих классов. Описание методов и элементов должны находиться в %%%.h - где %%% - имя класса. в %%%.cpp - находяться сами функции-члены. PS ну чего это, я же говорил - сырая |
|||
|
||||
| Vyacheslav |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2124 Регистрация: 25.3.2002 Где: Москва Репутация: 9 Всего: 59 |
Перед тем как написать статью надо составить ее план. Четко уяснить для себя, о чем ты хочешь поведать миру и соответственно предcтавить как ты это будешь делать. Должна существовать основноя идея (тезис) статьи. А в чем идея твоей статьи?
Это во-перых. Во-вторых. Если речь идет ООП, то твой пример - это и есть программа , написанная на ООП. cout - это класс В-третьих. ООП и событийно-управляемая программа - это две совершенно независимых концепции, никак не связанные между собой. Конечно в рамках одной программы эти две концепции могут существовать вместе, но можно написать программу используя парадигму ООП и совершенно не используя события (твой пример). Обратное тоже верно. Существуют также программы, использующие события, но неиспользующие парадигмы ООП ( например, любая программа, написанная на чистом WinApi). Так о чем статья? -------------------- С уважением, Вячеслав Ермолаев |
|||
|
||||
| maxim1000 |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 3334 Регистрация: 11.1.2003 Где: Киев Репутация: 17 Всего: 110 |
мне кажется, не стоит в одной статье рассказывать о трех довольно общирных темах: ООП, событийно-управляемых программах, MFC
иначе может получиться одно из двух: 1. большой учебник на три тома 2. настолько поверхностная статья, что пользы будет мало P.S. вот только для первого случая лично у меня бы терпения не хватило бы -------------------- qqq |
|||
|
||||
| En_t_end |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2074 Регистрация: 4.12.2004 Репутация: 1 Всего: 20 |
Vyacheslav
Дык зачем ?, моя цель - только дать новую глубину - 5 метров "Во-вторых. Если речь идет ООП, то твой пример - это и есть программа , написанная на ООП." Извини... я не копал так глубоко... " ООП и событийно-управляемая программа" Да - это независимые вещи, но вместе - это основа MFC, которая является примером удачного исползования ООП, слдеовательно можно предположить, что новейшие тезисы в ООП будут направлены на реализацию второй. имхо. " но неиспользующие парадигмы ООП" Да, но мне кажется, что чистый WinApi + ООП != good результат, так как я прыгал от программирования в одиночку. ИХМО ИМХО. Зря наверное я выложил этот набросок - в пух и прах. |
|||
|
||||
| np9mi7 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 553 Регистрация: 17.8.2003 Где: Volgograd, Russia Репутация: 5 Всего: 10 |
OOD & OOP, это те вещи бех которых сейчас уже никак... Так это и к лучшему!
На мой взгляд имеет смысл говорить о OOD и OOP на C++ как прибавку к этому... Или ты хочешь рассказать о программировании на С++ под MS Windows в ООП стиле? |
|||
|
||||
| En_t_end |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2074 Регистрация: 4.12.2004 Репутация: 1 Всего: 20 |
"Или ты хочешь рассказать о программировании на С++ под MS Windows в ООП стиле? "
Типа того... чтобы не возникало таких вопросов : http://forum.vingrad.ru/index.php?showtopic=41042 Если и возникали, то сразу перенаправлялись в фак. |
|||
|
||||
| np9mi7 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 553 Регистрация: 17.8.2003 Где: Volgograd, Russia Репутация: 5 Всего: 10 |
Тогда имеет смысл дать вначале сами основы OOD и потом как эти принципы реализуются в C++ в OOP стиле программирования, а потом интерфейс для программирования в MS Windows.... Ну и в качестве примера MFC....
Короче задача Наполеоновская! И всем новечкам можно посоветовать читать Страуструпа, Буча и Круглински.... А по MS читать MSDN... Или ты хочешь написать обзор? Если развернуто, то лучшей тактикой, по моему мнению, будет рассказ об основах + ссылки на доп. литературу или статьи в интернете... Добавлено @ 17:15 Но опять: Что такое основы вин апи? Или основы программирование в стиле ООП на C++? Вин апи - интерфейс, его можно узнать из справки... С++ язык который поддерживает ООП парадигму программирования... В пинципы ООD нужно воткнуться, а потом писать на с++!!! БУЧ ФОРЕВЕР!!! |
|||
|
||||
![]()
|
| Правила форума "С++:Общие вопросы" | |
|
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |