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

  • aki6336

    aki6336

    14 AĞUSTOS 2008
  • Shanice Caruthers

    Shanice Caru

    27 EKİM 2011
  • Smith Micro Graphics

    Smith Micro

    15 Mayıs 2008