Junior — Middle
112
Kas C++-s on sarnane liidese kontseptsioon nagu teistes programmeerimiskeeltes?
Ettevõtted, kust küsiti
ГК Адепт
Vastus AI-lt
sobes.tech AI
В C++ нет отдельной ключевой конструкции «interface», как в Java или C#. Однако аналог интерфейса достигается с помощью абстрактных классов, которые содержат только чисто виртуальные функции (pure virtual functions).
Пример интерфейса в C++:
class IShape {
public:
virtual double area() const = 0; // чисто виртуальная функция
virtual ~IShape() {} // виртуальный деструктор
};
class Circle : public IShape {
double radius;
public:
Circle(double r) : radius(r) {}
double area() const override {
return 3.14159 * radius * radius;
}
};
Такой абстрактный класс нельзя инстанцировать напрямую, и он задаёт контракт, который должны реализовать наследники. Это и есть аналог интерфейса.