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

  • ArkticPlanet

    ArkticPlanet

    9 ŞUBAT 2010
  • Evan Coury

    Evan Coury

    29 NİSAN 2007
  • PaulGBelliveau

    PaulGBellive

    5 Mart 2009