SORU
2 Aralık 2008, Salı


C Geçersiz Kurucu ve Temel Kurucu arıyor#

Bu gibi kurucular iki sınıf, Foo ve Bar, var:

class Foo
{
    Foo()
    {
      // do some stuff
    }

    Foo(int arg)
    {
      // do some other stuff
    }
}

class Bar : Foo
{
    Bar() : base()
    {
      // some third thing
    }
}

Şimdi int Bar için bir kurucu tanıtmak istiyorum, ama Barda şeyler istiyorum() çalıştırındeFoo eşyalar(int). Şöyle bir şey:

Bar(int arg) : Bar(), base(arg)
{
  // some fourth thing
}

C bunu yapmak için herhangi bir yolu var# mı? Şimdiye kadar sahip olduğum en iyi iş Bar koyarak() fonksiyonu içine, o da Bar(int) tarafından çağrılır, ama bu oldukça kaba.

CEVAP
2 Aralık 2008, Salı


Re-zincir markalar gibi onlar çok isterim

Bar() : this(0) 
Bar(int) : Foo(int) initializes Bar
Foo(int) initializes Foo
Foo() : this(0)

Bu ise parametresiz kurucular diğer kurucu int parametre için varsayılan değer bir tür varsayarsak eğer uygundur. Eğer kurucular ilgisiz, muhtemelen bir tür yanlış yapıyor, ya da belki de size ulaşmak için çalışıyoruz ne hakkında daha fazla bilgiye ihtiyacımız var.

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • case LianLi

    case LianLi

    28 Mayıs 2010
  • Māris Zaharovs

    Māris Zahar

    28 Mayıs 2008
  • MofoHifi Records

    MofoHifi Rec

    15 HAZİRAN 2006