Интерфейсы

Интерфейс - абстрактный класс с чисто виртуальными методами = 0 без реализаций.

class ICar  // Интерфейс. Абстрактный класс
{
public:

    string virtual ShowInfo() = 0;

};



class Ferarri : public ICar
{
public:

    string ShowInfo() override // Перегрузка виртуального метода из интерфейса
    {
        return "Ferarri";
    }

};



class Human
{
public:
    void UseCar(ICar &object) // Принимаем объект по ссылке
    {
        cout << "Использую " << object.ShowInfo() << endl;
    }
};





int main()
{
 
    Human h;
    Ferarri f;

    h.UseCar(f);

}

Last updated