Sobes.tech
Junior — Middle

C++'ta yalnızca saf sanal fonksiyonlar içeren ve doğrudan oluşturulamayacak bir sınıf tanımlanabilir mi?

sobes.tech yapay zeka

AI'dan gelen yanıt

Evet, C++'ta sadece saf sanal fonksiyonlar içeren bir sınıf tanımlamak mümkündür ve böyle bir sınıf doğrudan oluşturulamaz. Bu sınıf soyut sınıf olarak adlandırılır. Türevleri tarafından tüm saf sanal fonksiyonların uygulanması gereken arayüz veya temel sınıf olarak hizmet eder.

Örnek:

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

// Interface nesnesi doğrudan oluşturulamaz:
// Interface obj; // derleme hatası

class Implementation : public Interface {
public:
    void doSomething() override {
        // uygulama
    }
};

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