05.11.2013 Aufrufe

Vergleich von Delphi und Visual C++ - Inhalt

Vergleich von Delphi und Visual C++ - Inhalt

Vergleich von Delphi und Visual C++ - Inhalt

MEHR ANZEIGEN
WENIGER ANZEIGEN

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]

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!