Twitter und Facebook-Anbindung
X
Tweet Follow @twitterapi
!!! Anbindung an twitter und facebook öffnen !!!

Wenn Ihnen mein Online-Buch gefällt,
dann bedanken Sie sich doch mit einer kleinen Spende...

16.3 Die Datei main.cpp

16.3 Die Datei main.cpp

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
					
#include "TestKlasse.h"



// Hauptfunktion der Anwendung ////////////////////////////////////////////////
int main(int argc, char** argv) {
	// Variante 1
	CTestKlasse oObjekt1;					// Standardkonstruktor
	oObjekt1.Ausgabe();
	
	CTestKlasse oObjekt2(1, 2);				// Benutzerdefinierter Konstruktor
	oObjekt2.Ausgabe();

	// Variante 2
	CTestKlasse* pObjekt3 = new CTestKlasse(oObject2);	// Kopierkonstruktor
	pObjekt->Ausgabe();
	delete pObjekt;
	
	return 0;
} // main /////////////////////////////////////////////////////////////////////
					

Ausgabe:

0
0
1
2
1
2			
		

Mit oben stehenden Code, können Sie nun die kleine Testklasse Testen. Hierfür gibt es zwei Varianten. Wie Sie in Zeile 5 und 6 sehen, habe ich ein Objekt der Klasse "CTestKlasse" auf dem Stack erzeugt und rufe die Methode "Ausgabe" auf. Bei Objekten auf dem Stack, braucht man sich nicht um die Speicherverwaltung zu kümmern und man greift auf die Attribute und Methoden über den Punk zu, genauso wie man dies bei Strukturen macht. In den Zeilen 8 und 9 wird ein weiteres Objekt auf dem Stack erzeugt, allerdings unter Verwendung eines benutzerdefinierten Konstruktors.

In den Zeilen 12 bis 14 zeige ich, wie man sich ein dynamisches Objekt erzeugt und damit arbeitet. Wie Sie vielleicht bereits vermuten, benötigt man dazu Pointer. Auch die Speicherverwaltung muss selbst gemanagt werden und der Zugriff auf die Attribute und Methoden geschieht über den Pfeil.

Dem aufmerksamen Leser ist vielleicht aufgefallen, dass ich für die Variablennamen, unterschiedliche Schreibweisen verwendet habe. Die Objekte auf dem Stack habe ich mit einem kleinen "o" eingeleitet, was signalisieren soll, dass ich mich nicht um die Freiage kümmern muss. Das dynamische Objekt, habe ich allerdings wieder mit einem kleinen "p" eingeleitet, was darauf schließen soll, dass die Speicherverwaltung hier selbst durchgeführt werden muss. Man kann allerdings nicht mehr erkennen, dass es sich um ein Objekt handelt. Hier kommt man an einen Punkt, wo es immer wichtiger wird, den Variablen, sprechende Namen zu verpassen, da man irgendwann nicht mehr alles mit einleitenden Buchstaben erklären kann. In diesem Fall hätte ich die Variable zwar auch mit "poftk" einleiten können (was soviel heißen soll wie Pointer of TestKlasse), aber wer soll da durch sehen und spätestens wenn es mal Klassen gibt deren Anfangsbuchstaben gleich sind, wird auch dieser Ansatz einen nicht weit bringen. Von daher empfehle ich nur das kleine "p" zu benutzen und den Rest so zu benennen, dass jeder erkennt dass hinter dem Pointer, ein Objekt klemmt.

Zum Seitenanfang
Zum Inhaltsverzeichnis

© Copyright by Thomas Weiß, 2009 - 2012