Sobes.tech
Junior — Middle

C++та таза виртуал функцияларды камтитин жана түз түз түзүү мүмкүн эмес класс аныктоого болобу?

sobes.tech AI

AIден жооп

Ооба, C++та таза виртуалдуу функцияларды камтыган класс аныктоого болот, жана мындай класс түздөн-түз түзүлө албайт. Бул класс абстракттуу класс деп аталат. Ал интерфейс же негизги класс катары кызмат кылат жана мурас алгандар бардык таза виртуалдуу функцияларды ишке ашырышы керек.

Мисал:

class Interface {
public:
    virtual void doSomething() = 0; // таза виртуалдуу функция
    virtual ~Interface() = default;
};

// Interface объектисин түзүү мүмкүн эмес:
// Interface obj; // ката түзүү

class Implementation : public Interface {
public:
    void doSomething() override {
        // ишке ашыруу
    }
};

int main() {
    Implementation impl;
    impl.doSomething();
}