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