Vergleich von Delphi und Visual C++ - Inhalt
Vergleich von Delphi und Visual C++ - Inhalt
Vergleich von Delphi und Visual C++ - Inhalt
Erfolgreiche ePaper selbst erstellen
Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.
};<br />
<strong>Vergleich</strong> <strong>von</strong> <strong>Delphi</strong> <strong>und</strong> <strong>Visual</strong> <strong>C++</strong> - Kapitel 2C<br />
class B : public A<br />
{<br />
typedef A inherited;<br />
void virtual print();<br />
···<br />
};<br />
class C : public B<br />
{<br />
typedef B inherited;<br />
void virtual print();<br />
···<br />
};<br />
void C::print()<br />
{<br />
inherited::print();<br />
···<br />
};<br />
Die jeweilige typedef-Deklaration stellt eine lokale Typ-Deklaration dar. Der Gültigkeitsbereich eines klassen-lokalen Typs ist auf die<br />
Klasse <strong>und</strong> deren Klassen-Methoden beschränkt, in dem er deklariert wurde. Durch den begrenzten Gültigkeitsbereich ist sichergestellt,<br />
daß inherited für jede Klasse einmalig ist <strong>und</strong> keine Konflikte mit Basis- oder abgeleiteten Klassen auftreten können, die einen eigenen Typ<br />
unter dem selben Namen deklariert haben.<br />
Object Pascal gestattet keine lokalen Typ-Deklarationen.<br />
Bei der Vererbung kann in <strong>C++</strong> optional angegeben werden, ob die Vererbung private oder public erfolgen soll (voreingestellt ist private).<br />
class B : public A<br />
{<br />
...<br />
};<br />
class B : private A<br />
{<br />
...<br />
};<br />
Protected- <strong>und</strong> public- Elemente der Basisklasse werden bei einer private-Ableitung zu private-Elementen. Ableitungen in Object Pascal<br />
entsprechen der public Ableitung in <strong>C++</strong>: die Zugriffsrechte der Basisklasse bleiben in der abgeleiteten Klasse erhalten.<br />
Neben der Einfachvererbung (single inheritance) gestattet <strong>C++</strong> zusätzlich Mehrfachvererbung (multiple inheritance), bei der eine<br />
abgeleitete Klasse aus mehreren Basisklassen gebildet wird. In Anlehnung an das vierte Bild in Kapitel 2.1 kann Klasse<br />
"Amphibienfahrzeug" durch Mehrfachvererbung aus Land- <strong>und</strong> Wasserfahrzeug gebildet werden:<br />
class AmphibienFahrzeug : public LandFahrzeug,<br />
private WasserFahrzeug<br />
{<br />
...<br />
};<br />
Probleme können Mehrdeutigkeiten bereiten, wenn Elemente mit gleichem Namen (aber unterschiedlicher Funktionalität) in mehreren<br />
Basisklassen existieren.<br />
http://ourworld.compuserve.com/homepages/praxisservice/kapit2c.htm (10 of 33) [19.05.2000 15:30:14]