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 bildirilen Ancak, 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