Aracılığıyla paylaş


Devralma anahtar sözcükler

Microsoft özel

class [__single_inheritance] class-name;
class [__multiple_inheritance] class-name;
class [__virtual_inheritance] class-name;

Burada:

  • Sınıf adı
    Bildirilen sınıfın adı.

C++ sınıf üyesine sınıf tanımı için önce bir işaretçi bildirmek sağlar.Örne?in:

class S;
int S::*p;

Yukarıdaki kodda p tamsayı üye s. sınıfının bir işaretçi olarak bildirilenAncak, class S bu kodu; henüz tanımlanmadı yalnızca bildirildi.Derleyici bir işaretçi karşılaştığında, işaretçiyi Genelleştirilmiş bir gösterimini yapmanız gerekir.Gösterim boyutunu belirtilen devralma modeline bağlıdır.Derleyici bir devralma modeli belirlemek için dört yolu vardır:

  • Altında IDE içinde İşaretçi üye gösterimi

  • Komut satırını kullanarak en /vmg geçiş

  • Kullanarak pointers_to_members pragma

  • Devralma sözcükleriyle __single_inheritance, __multiple_inheritance, ve __virtual_inheritance.Bu teknik, her sınıf için ayrı ayrı devralma modeli denetler.

    [!NOT]

    Her zaman bir işaretçi bir sınıf üyesi sınıf tanımladıktan sonra bildirirseniz, bu seçeneklerden herhangi birini kullanmanız gerekmez.

Sınıf tanımı için önce bir sınıf üyesi için bir işaretçi bildirmek, boyutu ve elde edilen yürütülebilir dosyasının hızını etkiler.Devralma bir sınıf tarafından büyük bir işaretçi üyesi sınıf ve işaretçiyi yorumlamak için gerekli kodu büyük göstermek için gereken bayt sayısını kullanılan daha fazla karmaşık.Tek miras az karmaşıktır ve sanal devralma en karmaşık.

Yukarıdaki örnek için değiştirilirse:

class __single_inheritance S;
int S::*p;

komut satırı seçenekleri veya formunda bilgi, üyeleri için işaretçiler ne olursa olsun class S en küçük olası gösterimi kullanır.

[!NOT]

Aynı İleri bildiriminde sınıf işaretçi üye gösterimi, bu sınıfın üyeleri için işaretçiler bildirir her çeviri birimi yapılacağını ve işaretçiler üyelere bildirilen önce bildirim olmamalıdır.

SON Microsoft özel

Ayrıca bkz.

Başvuru

C++ anahtar sözcükler