Sobes.tech
Junior — Middle

C++-də yalnız saf virtual funksiyaları ehtiva edən və birbaşa yaradıla bilməyən sinif təyin etmək mümkündürmü?

sobes.tech Süni İntellekt

AI-dan cavab

Bəli, C++-də yalnız saf virtual funksiyalar ehtiva edən sinif təyin etmək mümkündür və belə sinif birbaşa yaradıla bilməz. Bu sinif abstrakt sinif adlanır. O, interfeys və ya əsas sinif kimi xidmət edir və irsi alanların bütün saf virtual funksiyaları həyata keçirməsini tələb edir.

Nümunə:

class Interface {
public:
    virtual void doSomething() = 0; // saf virtual funksiya
    virtual ~Interface() = default;
};

// Interface obyektini birbaşa yaratmaq olmaz:
// Interface obj; // tərtib xətası

class Implementation : public Interface {
public:
    void doSomething() override {
        // həyata keçirmə
    }
};

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