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