@Anther
Начинающий

Возможны ли классы в C?

Возможно ли физически на базе структур реализовать ооп с инкапсуляцией, наследованием и полиморфизмом в C?
  • Вопрос задан
  • 230 просмотров
Пригласить эксперта
Ответы на вопрос 8
samodum
@samodum
Какой вопрос - такой и ответ
Конечно возможно. C++ написан на С
Ответ написан
Bavashi
@Bavashi
Возможно ли физически на базе структур реализовать ооп с инкапсуляцией, наследованием и полиморфизмом в C?

Да, возможно.
Можно поподробнее об этом почитать здесь и тут. Но такого лучше все-таки не делать:

If you simply develop end-user programs in C, but you also want to do OOP, you probably should be using C++ instead of C. Compared to C++, OOP in C can be cumbersome and errorprone, and rarely offers any performance advantage.
Ответ написан
firedragon
@firedragon
Senior .NET developer
Вопрос зачем?
Ответ не полностью.
Например windows написан на С, но многие черты реализуются именно через передачу указателей на предварительно подготовленную структуру, только смысл сейчас это делапть?
Ответ написан
@vabka
Fullstack dev
Да, просто в начало каждой структуры надо добавить поле, в котором в каком-то однообразном виде будут храниться указатели на функции.
Более конкретные примеры тут все уже поскидывали
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы