C++ — это язык программирования общего назначения. Первоначально он был разработан как расширение C и имеет похожий синтаксис, но теперь это совершенно другой язык.
Абстрактные классы — это классы, экземпляры которых невозможно создать. Они существуют для обеспечения общих функциональных возможностей и спецификаций интерфейса для нескольких конкретных классов.