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

  • campos9896

    campos9896

    24 Mart 2012
  • thewinekone

    thewinekone

    17 Aralık 2005
  • YAN TV

    YAN TV

    20 EKİM 2011