SORU
10 Aralık 2008, ÇARŞAMBA


Nasıl türetilmiş sınıf, üst sınıf bir işlevi çağırmak için?

Nasıl türetilmiş bir sınıf C kullanarak ana işlevi arayayım mı ? Örneğin, bir sınıf parent, aradım ve bir üst sınıf türetilir child denir. İçinde her ders print bir fonksiyonudur. Çocuğun print tanımında velilere bir çağrı print yapmak istiyorum. Bunu nasıl yapıyor hakkında gitmek istiyorsunuz?

CEVAP
10 Aralık 2008, ÇARŞAMBA


Açık konuşmak gerekirse risk alırım, işlevini çağırın, eğer temel sınıfta tanımlı eğer türetilmiş sınıf private olmadığı sürece) otomatik olarak kullanılabilir.

Eğer türetilmiş bir sınıf aynı imzaya sahip bir fonksiyon varsa temel sınıfın adı iki nokta üst üste base_class::foo(...) takip ekleyerek bu belirsizliği ortadan kaldırmak. Java C#, C yok aksine dikkat etmelisinizdeğil"(super base) C beri karışıklığa neden olabilir multiple inheritance destekler. "temel sınıf için bir anahtar kelime var

class left {
public:
    void foo();
};

class right {
public:
    void foo();
};

class bottom : public left, public right {
public:
    void foo()
    {
        //base::foo();// ambiguous
        left::foo();
        right::foo();
    }
};

Bu arada, diğer temel sınıflardan birini ifade etmek için yolu yok bu yana iki defa doğrudan aynı sınıftan türetmek.

class bottom : public left, public left { // Illegal
};

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • GFX Tutorials

    GFX Tutorial

    12 AĞUSTOS 2013
  • Slave Boy Films - Fandom from a Galaxy Far Far Away

    Slave Boy Fi

    12 HAZİRAN 2009
  • theatre2film

    theatre2film

    12 NİSAN 2006