SORU
19 EYLÜL 2008, Cuma


Nereye &; sanal işlev çağrısı " saf " çöküyor mu?

Bazen hata ile benim bilgisayarda crash programları dikkat: "". saf sanal işlev çağrısı

Nasıl bu programlar, nesne veya soyut bir sınıf oluşturulacak bile derlemek?

CEVAP
19 EYLÜL 2008, Cuma


Eğer bir yapıcı veya yıkıcı bir sanal işlev çağrısı yapmaya çalışırsanız neden olabilirler. Sen mi yapmak bir sanal işlev çağrısı bir yapıcı veya yıkıcı (türetilmiş sınıf nesnesi bulunmadı inşa veya zaten yok) çağırır temel sınıf sürümü, hangi durumda bir saf sanal işlevi yoktur.

class Base
{
public:
    Base() { doIt(); }  // DON'T DO THIS
    virtual void doIt() = 0;
};

class Derived : public Base
{
    void doIt() {}
};

int main(void)
{
    Derived d;  // This will cause "pure virtual function call" error
}

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • David MeShow

    David MeShow

    10 EKİM 2006
  • Krumme1996

    Krumme1996

    21 EYLÜL 2009
  • Liam Underwood

    Liam Underwo

    19 Mayıs 2009