Kullanarak "süper" C
Kodlama benim stilim aşağıdaki deyim içerir:
class Derived : public Base
{
public :
typedef Base super; // note that it could be hidden in
// protected/private section, instead
// Etc.
} ;
Bu bana "bir Baz, örneğin, kurucular için takma ad: as . süper kullanmanıza olanak sağlar
Derived(int i, int j)
: super(i), J(j)
{
}
Hatta geçersiz sürümü içinde temel sınıf yöntemi çağırmak:
void Derived::foo()
{
super::foo() ;
// ... And then, do something else
}
Hatta zincirleme (hala bunu yapan var) olabilir
class DerivedDerived : public Derived
{
public :
typedef Derived super; // note that it could be hidden in
// protected/private section, instead
// Etc.
} ;
void DerivedDerived::bar()
{
super::bar() ; // will call Derived::bar
super::super::bar ; // will call Base::bar
// ... And then, do something else
}
Her neyse, "süper Temel ayrıntılı ve/veya şablon ya. ne zaman" çok yararlı, örneğin, typedef kullanımı buluyorum
Aslında super yanı sıra C, Java uygulanan# denir ("", yanılmıyorsam) taban. Ama C bu kelime yoktur.
Yani, benim soru:
- bu typedef süper ortak/nadir/hiç kod görülen kullanmanız ile çalışmak mı?
- typedef bu süper Tamam (yani kullanmak için değil, güçlü ya da çok güçlü bir neden değil mi?)
- "süper" iyi bir şey olması, C biraz standart olmalı , yoksa bu bir typedef yeterli zaten ile kullanılır.
Düzenleme:Roddy typedef özel olması gerçeği elbette yapacaktır. Bu, herhangi bir türetilmiş sınıf redeclaring olmadan kullanmak mümkün olmayacaktır anlamına gelir. Aynı zamanda süper önlemek sanırım bu::süper zincirleme (ama bunun için ağlamak kim?).
Edit 2:Şimdi, birkaç ay ağır", can-ı gönülden Roddy bu bakış açısı ile aynı fikirde:" süper "özel olmalıdır." süper kullandıktan sonra Onun cevabı iki kez upvote isterdim, ama yapamam sanırım.
CEVAP
Bjarne Stroustrup bahsederC tasarım ve Evrimbir anahtar kelime olarak super
ISO C Standartları Komitesi tarafından C standart olduğunu ilk kez kabul edildi.
Dag Bruck bu uzantı, temel sınıf "miras kaldı." demeyi önerdi Öneri, çoklu miras sorunu söz ve belirsiz kullanır bayraklı olurdu. Hatta Stroustrup ikna oldu.
Tartışmanın ardından, Dag Bruck (Evet, aynı kişi teklif verme) önerisi uygulanabilir, teknik olarak ses ve kusurları, ve işlenen çoklu kalıtım Binbaşı özgür olduğunu yazdı. Öte yandan, para için yeterli patlama olmadı ve Komite thornier bir sorun işlemek gerekir.
Michael Tiemann geç geldi, ve sonra typedef çiğnenmiş bir süper iyi, Bu yazı da soruldu aynı tekniği kullanarak işe yarayacağını gösterdi.
Yani, hayır, Bu muhtemelen hiç standartlaştırılmış alacak.
Eğer kopya yok iseTasarım ve Evrimkapak bu fiyata değer. Kullanılan kopyaları da 10 $için vardı olabilir.
Neden bu kod rastgele dizeleri yazdırm...
Kullanarak " koyuyorsun;sayfa özel...
"Büyük veri" iş akışı pandal...
Kullanarak "Nesne.oluştur" y...
≪input type="text" bir tüm...