LINUX.ORG.RU

Может тебе ещё ООП на x86 ассемблере?

anonymous
()

Единственное что ты можешь в С - инкапсулировать данные. Класс ~ модуль.

salseeg
()
Ответ на: комментарий от AngryElf

Затем, зачем оно и в других языках.

GTK и GNOME, между прочим, написаны на С с применением ООП.

anonymous
()

Можешь в исходниках чего-нибудь покопаться. Например, того же GTK.

anonymous
()

не видел к сожалению - чтобы понять как это реализовать глянь к примеру gtk+ - как тут уже посоветовали.

alphex_kaanoken ★★★
()

Вообще-то ООП никаких особенных фичей от языка не требует. Так что ООП на Цэ ничем не отличается от ООП где либо ещё.

Antichrist
()
Ответ на: комментарий от Antichrist

> Вообще-то ООП никаких особенных фичей от языка не требует.

чтоб было более-менее эффективно, нужно чтобы
можно было объявить

struct C
{
    struct B base;
    ...
};

И после этого по адресу C найти B.

Tо есть пара фраз в стандарте языка все же нужна..

dilmah ★★★★★
()
Ответ на: комментарий от dilmah

> Tо есть пара фраз в стандарте языка все же нужна..

Зачем? Например есть объект файл. Мне в принципе не важно как он там реализован. Есть известный набор операций, которые позволяют делать с ним все что нужно.

Вообще говоря даже не важно на каком языке реализованны эти операции. Объектом от этого он быть не перестанет.

yuriy123
()
Ответ на: комментарий от dilmah

>Tо есть пара фраз в стандарте языка все же нужна..

ООП - это не средства языка, это методика их использования

KIV
()

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

anonymous
()
Ответ на: комментарий от anonymous

Да не так уж и много этих фичей нужно. Так что - главное - принципиальных трудностей нет. Другое дело, что ООП само по себе - суксь и поцня.

lugovsky
()

ООП - объектно ориентированное программирование. Второе О требует, чтобы язык был ориентирован на поддержку ООП, есть ряд требований, чтобы язык мог называться ООП. А без этого язык просто - объектный. И GTK использует объектный, а не ООП, подход. А препроцессинг - дык в результате получится то же, что и ранние версии компиляторов C++.

А объектный подход - он там все время используется, в C.

Spectr ★★★
()
Ответ на: комментарий от Spectr

Но препроцессор оставит язык как есть. Всетаки C++ принес свои изменения

SatanClaus ★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.