На самом деле смысл объектного программирования в своей основе вполне "ассемблерный" - объект это немного улучшенная обычная структура ( srtuct ), с тремя важными и полезными новшествами:
1. Добавлены две специальные функции "конструктор" и "деструктор", которые всегда (ну, или почти всегда) автоматически вызываются при создании и уничтожении такой "классной" структуры.
2. Членами могут быть не только данные, но и функции (их называют "методы"), и даже автоматически разыменуемые указатели на функции ( их называют "виртуальные методы" ).
3. Алгоритмы всех операций, автоматически совершаемых компилятором над такой структурой ( например - копирование ) могут быть явно изменены.
Если никакие из этих возможностей не использовать - объект класса C++ будет ничем не отличим от экземпляра обычной структуры C.





Ответить с цитированием