SORU
25 Kasım 2008, Salı


Nasıl C arayüzü kabul ediyor musunuz ?

Nasıl bir arabirimi temsil eden bir sınıf Kur? Bu sadece soyut bir taban sınıfıdır?

CEVAP
25 Kasım 2008, Salı


bradtgmurray tarafından cevap genişletmek için arayüz saf sanal bir yöntem listesi için bir istisna yapmak için sanal bir yıkıcı ekleyerek isteyebilirsiniz. Bu beton türetilmiş sınıf göstermeden başka bir partiye işaretçi sahipliğini geçmesine izin verir. Yıkıcı arabirimi, herhangi bir somut üye olmadığı için hiçbir şey yapmak zorunda değil. Çelişkili hem sanal hem de satır içi bir işlev olarak tanımlamak, ama bana güvenmek görünebilir - değildir.

class IDemo
{
    public:
        virtual ~IDemo() {}
        virtual void OverrideMe() = 0;
};

class Parent
{
    public:
        virtual ~Parent();
};

class Child : public Parent, public IDemo
{
    public:
        virtual void OverrideMe()
        {
            //do stuff
        }
};

Sanal yıkıcı bir vücut vardır gerek yok - bazı Derleyiciler sorun boş bir yıkıcı optimize sahip çıkıyor ve varsayılan kullanarak daha iyidir.

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • kamaniusilelis

    kamaniusilel

    10 HAZİRAN 2011
  • Matt Davis

    Matt Davis

    4 ŞUBAT 2006
  • williamfitzsimmons

    williamfitzs

    14 Mart 2008