SORU
18 ŞUBAT 2009, ÇARŞAMBA


C örtülü bir varsayılan kurucu var mı ?

Kitabı okuyorum şu anda (C Without Fear) diyor ki olmazsa bildirin varsayılan yapıcı bir sınıf, derleyici malzemeleri için, "sıfır dışında her veri üyesi". Bu tecrübe ettik, ve herhangi bir sıfırlama davranış göremiyorum. Ben de Google'da bu söz edilen bir şey bulamıyorum. Bu sadece bir hata ya da belirli bir derleyici bir cilvesi mi?

CEVAP
18 ŞUBAT 2009, ÇARŞAMBA


Eğer bir kurucu tanımlarsanız, derleyici varsayılan bir kurucu tanımlamak olacaktır.

Bu uygulanması

varsayılan kurucu

  • base class (temel sınıf varsayılan bir oluşturucuya sahip değil, bu bir derleme hatası) varsayılan yapı
  • Bildirgeye sırayla her üye değişkeni varsayılan yapı. (Eğer bir üye varsayılan bir oluşturucuya sahip değil, bu bir derleme hatası).

Not:
POD verileri (tamsayı,kayan nokta,işaretçi, vb.) açık bir oluşturucuya sahip değil, ancak varsayılan eylem yapacak (C vane felsefe; biz açıkça bunun için sormadan bir şey için ödeme yapmak istemiyoruz).

Eğer yıkıcı/kopya Kurucu/Atama operatörü tanımlanmış derleyici oluşturur, o sizin için (yani bir sınıf hep bir yıkıcı/Kopya Kurucu/Atama Operatörü (sürece hile ve açıkça ilan ediyorum ama yok tanımlamak)).
Varsayılan uygulama

Yıkıcı:

  • Eğer kullanıcı tanımlı yıkıcı tanımlanır, kod sağlanan yürütmek.
  • Bildirgeye ters sırayla her üye yıkıcı arayın
  • Temel sınıf yıkıcı arayın.

Kopya Kurucu:

  • Temel sınıf Kurucusunu Kopyasını arayın.
  • Kopya beyan sırayla her üye değişkeni için yapıcı arayın.

Atama Operatörü:

  • Taban sınıfın atama operatörü arayın
  • Bildirim sırasına göre her bir üye değişken atama operatörünü arayın.
  • Bu bir başvuru döndürmek.

POD Veri not Kopyasını İnşaat/Atama operatör sadece veri (Dolayısıyla sığ kopyalama sorunu ÇİĞ işaretçiler ile ilişkili) kopyalama.

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • EvilControllers

    EvilControll

    20 Ocak 2008
  • Fr. Eckle Studios

    Fr. Eckle St

    29 Kasım 2006
  • infodirt

    infodirt

    11 Mart 2009