2014-01-31 4 views
-3

Почему язык C не поддерживает концепцию наследования? Как реализовать наследование в C с помощью вложенных структур?Почему C не поддерживает наследование?

+3

Поскольку C не имеет объектов, поэтому он должен реализовать концепцию на объектно-ориентированном языке? – klaustopher

+1

downvoters \ closers это наивный, но действительный вопрос imho. – UmNyobe

+0

это концепция oops – user2760375

ответ

1

Это понятие ООП, но вы также можете реализовать его в С.

Наследование и полиморфизм являются наиболее мощные возможности объектно-ориентированного программирования Языки. С наследованием и полиморфизмом мы можем добиться повторного использования кода.

Есть много способов, сложных для реализации полиморфизма в C.

В C, наследование может быть достигнут путем сохранения ссылки на объект базового класса в производном классе объекте. С помощью экземпляра базового класса мы можем получить доступ к элементам и функциям базовых данных. Однако для достижения полиморфизма объект базового класса должен иметь доступ к данным объекта производного класса. Для этого базовый класс должен иметь права доступа к членам данных производного класса.

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

пройти через very good Article

Смежные вопросы