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

  • Jonathan Flavell

    Jonathan Fla

    1 HAZİRAN 2006
  • Mindy

    Mindy

    20 NİSAN 2006
  • picster

    picster

    20 NİSAN 2006