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

  • AlaskanGrizzly

    AlaskanGrizz

    30 EKİM 2009
  • EvilControllers

    EvilControll

    20 Ocak 2008
  • theavettbrothers

    theavettbrot

    9 ŞUBAT 2007