LINUX.ORG.RU

История изменений

Исправление hobbit, (текущая версия) :

Зачем функции и значения пихать в одну структуру мне не очень понятно

Вот как раз затем, чтобы сделать в функции работу с абстрактным типом данных. В классах это делается через виртуальные методы. В структурах приходится извращаться руками.

В статьях типа «полиморфизм для начинающих» обычно приводят примеры перерисовки геометрических фигур. Если хочется чуть менее абстрактного примера - можно посмотреть на GTK+ или на win32 API. Там тоже, как и в линукс-ядре, делается ООП на неООПшном языке. Другое дело, что в ядре это, вероятно, оправдано, а вот насчёт тулкитов для создания __прикладных__ программ у меня есть большие сомнения.

В частности, именно поэтому мне Qt нравится больше, чем GTK+ - там уже всё на классах, более лаконично и понятно.

Исправление hobbit, :

Зачем функции и значения пихать в одну структуру мне не очень понятно

Вот как раз затем, чтобы сделать в функции работу с абстрактным типом данных. В классах это делается через виртуальные методы. В структурах приходится извращаться руками.

В статьях типа «полиморфизм для начинающих» обычно приводят примеры перерисовки геометрических фигур. Если хочется чуть менее абстрактного примера - можно посмотреть на GTK+ или на win32 API. Там тоже, как и в линукс-ядре, делается ООП на неООПшном языке. Другое дело, что в ядре это, вероятно, оправдано, а вот насчёт API и тулкитов для создания __прикладных__ программ у меня есть большие сомнения.

В частности, именно поэтому мне Qt нравится больше, чем GTK+ - там уже всё на классах, более лаконично и понятно.

Исходная версия hobbit, :

Зачем функции и значения пихать в одну структуру мне не очень понятно

Вот как раз затем, чтобы сделать в функции работу с абстрактным типом данных. В классах это делается через виртуальные методы. В структурах приходится извращаться руками.

В статьях типа «полиморфизм для начинающих» обычно приводят примеры перерисовки геометрических фигур. Если хочется чуть менее абстрактного примера - можно посмотреть на GTK+ или на win32 API. Там тоже, как и в линукс-ядре, делается ООП на неООПшном языке.

В частности, именно поэтому мне Qt нравится больше, чем GTK+ - там уже всё на классах, более лаконично и понятно.