Для gcc это опция -I
для заголовка включает . Для файлов .cpp вам просто нужны те, которые отображаются как аргумент команды gcc.
Короче говоря, нет никакой причины, почему Вы хотели бы чистый абстрактный класс. Никогда не используйте чистые абстрактные классы, нет никакого смысла в использовании их. Если Вы хотите использовать 'чистый абстрактный класс', идут с интерфейсом, таким образом, можно все еще использовать несколько интерфейсов.
интерфейс похож на контракт. Если класс реализует интерфейс, он должен реализовать все сервисы, перечисленные в интерфейсе.
абстрактный класс похож на скелет. Это определяет определенный способ, которым его расширенные классы будут работать при разрешении абстрактным методам быть уникальными.