> Вообще-то ООП никаких особенных фичей от языка не требует.
чтоб было более-менее эффективно, нужно чтобы
можно было объявить
struct C
{
struct B base;
...
};
И после этого по адресу C найти B.
Tо есть пара фраз в стандарте языка все же нужна..
> Tо есть пара фраз в стандарте языка все же нужна..
Зачем? Например есть объект файл. Мне в принципе не важно как он там
реализован. Есть известный набор операций, которые позволяют делать с
ним все что нужно.
Вообще говоря даже не важно на каком языке реализованны эти операции.
Объектом от этого он быть не перестанет.
Без поддержки языком слишком много надо в голове держать, что в ООП языке выражено явно в коде. Поэтому имхо исскуственное ООП оправдано только при тщательном предварительном ОО проектировании, т.к. код с чужеродными сущностями станет только менее понятным.
ООП - объектно ориентированное программирование. Второе О требует, чтобы язык был ориентирован на поддержку ООП, есть ряд требований, чтобы язык мог называться ООП. А без этого язык просто - объектный. И GTK использует объектный, а не ООП, подход. А препроцессинг - дык в результате получится то же, что и ранние версии компиляторов C++.
А объектный подход - он там все время используется, в C.