раскрыть ветку (10)
ООП? В контесте C++ объекты - это структуры данных и алгоритмы операций над ними. В Си у нас были структуры - мы могли группировать простые типы в более сложные под одним именем. В С++ к этим структурам мы можем добавить алгоритмы, которые преднозначены именно для них.
Все это (объекты, наследование) вполне можно эмулировать на чистом С. Ради интереса, есть заметка:
http://words-are-dust.blog spot.com/2014/02/blog-post_11.html
Никаких чудес, но понимание как объект располагается в памяти, что происходит при добавлении виртуальной функции - это ключ к лучшему пониманию C++.
Все остальное - инкапсуляция, полиморфизм - это синтаксичесий сахар, который контролирует корректное использование объектов. Благодаря этому код из лапши (в идеале) становится разбит на изолированные "черные коробочки", которые можно легко менять, модифицировать, тестировать и т.п. не затрагивая экосистему вокруг.
ЗЫ С Qt я вам пока не советую связываться, ибо его диалект C++/Qt - это еще одна надстройка над не самым простым языком.
Все это (объекты, наследование) вполне можно эмулировать на чистом С. Ради интереса, есть заметка:
http://words-are-dust.blog spot.com/2014/02/blog-post_11.html
Никаких чудес, но понимание как объект располагается в памяти, что происходит при добавлении виртуальной функции - это ключ к лучшему пониманию C++.
Все остальное - инкапсуляция, полиморфизм - это синтаксичесий сахар, который контролирует корректное использование объектов. Благодаря этому код из лапши (в идеале) становится разбит на изолированные "черные коробочки", которые можно легко менять, модифицировать, тестировать и т.п. не затрагивая экосистему вокруг.
ЗЫ С Qt я вам пока не советую связываться, ибо его диалект C++/Qt - это еще одна надстройка над не самым простым языком.
раскрыть ветку (4)
ооо у меня есть вопросец по ооп. или это я так думаю что по ооп. вообще хз короче по какой теме :D
То, что вы описали на примере структуры есть по сути инкапсуляция. Полиморфизм уж совсем не сахар, а прямое следствие такого ключевого понятия для ООП как наследование. Сам учился примерно так, как вы описали, но теперь понимаю, что нужно было учиться иначе, подходя к ООП как новой парадигме, не связанной с моими прошлыми знаниями.
раскрыть ветку (1)
Верно) Конечно, не достает здесь только самой инкапсуляции compile-time запрета доступа к полям.
Ммм...вот здесь не согласен. Знания о ванильном ООП без понятия его реализации в C++ опасно рядом специфичных граблей.

