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();
}