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.
<strong>Vergleich</strong> <strong>von</strong> <strong>Delphi</strong> <strong>und</strong> <strong>Visual</strong> <strong>C++</strong> - Kapitel 2C<br />
private:<br />
Typ EinArray[20];<br />
};<br />
template <br />
void TemplateKlasse::SetArray(Typ a, int b)<br />
{<br />
if(( b >= 0 ) && (b SetArray(14.783 , 0);<br />
// zweites Element belegen<br />
MeinArray1->SetArray( -3.66 , 1);<br />
delete MeinArray1;<br />
}<br />
TemplateKlasse* MeinArray2;<br />
MeinArray2 = new TemplateKlasse;<br />
// erstes Element belegen<br />
MeinArray2->SetArray("Hallo Welt" , 0);<br />
// zweites Element belegen<br />
MeinArray2->SetArray("Aha" , 1);<br />
delete MeinArray2;<br />
Zunächst wird ein Objekt MeinArray1 angelegt, dessen 20 Elemente vom Typ Double sind. Im Anschluß daran wird ein Objekt<br />
MeinArray2 angelegt, dessen 20 Elemente Zeiger auf Strings sind (Typ = char*). Bei der Definition <strong>und</strong> der Instanzierung eines Objekts,<br />
das durch eine Klassen-Schablone beschrieben wird, wird dazu explizit der konkrete Typ in spitzen Klammern angegeben. Erst wenn der<br />
Compiler auf die Bezeichnung einer Klassen-Schablone in Verbindung mit einem genauen Typ trifft, legt er die entsprechende<br />
Klassendefinition im globalen Gültigkeitsbereich des Programms an. Dabei wird der Parameter-Typ textuell durch den konkreten<br />
Typ-Namen (hier double bzw. char*) ersetzt.<br />
Außer Typ-Parametern können bei der Schablonen-Definition auch Argumente angegeben werden, die keinen Typ repräsentieren:<br />
template <br />
Im Beispiel oben könnte man dadurch z.B. die starre Fixierung auf 20 Elemente aufheben. Die exakte Array-Größe würde dann erst bei der<br />
Schablonen-Instanzierung durch den Parameter i festgelegt werden.<br />
Schablonen eignen sich besonders zur Erstellung leistungsfähiger <strong>und</strong> kompakter Containerklassen. Durch den Einsatz <strong>von</strong> Schablonen<br />
kann oftmals auf die Nutzung <strong>und</strong>urchschaubarer <strong>und</strong> fehleranfälliger Präprozessor -"#define"- Sequenzen verzichtet werden. Die<br />
Klassenbibliothek <strong>von</strong> <strong>Visual</strong> <strong>C++</strong> (MFC) nutzt intensiv sowohl Funktions- als auch Klassen-Schablonen.<br />
2.3.6.10 Eigenschaften - Properties<br />
Eigenschaften, im folgenden Properties genannt, stellen benannte Attribute eines Objekts dar. Properties sind nur in Object Pascal<br />
verfügbar.<br />
http://ourworld.compuserve.com/homepages/praxisservice/kapit2c.htm (29 of 33) [19.05.2000 15:30:15]