You are not logged in.

  • Login

1

Sunday, May 22nd 2011, 3:50pm

In Klassenmethode/Konstruktor auf Instanz einer anderen Klasse zurückgreifen -wie?

Hallo Leute,

Im Moment kann ich es leider nicht ausprobieren (keine IDE vorhanden), aber es lässt mir keine Ruhe:
Ich sitze an einer Aufgabe, die sich um zwei Klassen dreht: 1. Punkt und 2. Rechteck, das aus vier Instanzen von Punkt besteht dreht:

Ich habe eine Klasse Punkt mit Parametern, Konstruktor und verschiedenen get/set-Methoden (Quelldatei bzw. Headerdatei Punkt.cpp und Punkt.h)

Nun soll ich eine Klasse Rechteck machen (geschrieben in eine neue Quell/Headerdateien Rechteck.cpp / .h). Das konstruierte Rechteck soll aus 4 Punkten (also Instanzen der Klasse Punkt) bestehen.
Damit ich in Rechteck.cpp auf die Punkte und get/set-Methoden der Klasse Punkt zugreifen kann (für später, Fläche/Umfang vom Rechteck), binde ich die Headerdatei der Punktklasse ein (#include "Punkt.h")

Jetzt wollte ich für die Klasse rechteck die Elementvariablen definieren: vier beliebige Punkte aus Klasse Punkt

Hier die Rechteck.h :

Source code

1
2
3
4
5
6
7
8
9
10
11
[...]
#include  "Punkt.h"

class Rechteck
{
private:
	//Elementvariablen
	Punkt a, b, c, d;

// ... getter/setter etc.
}


Und die dazugehörige Rechteck.cpp:

Source code

1
2
3
4
5
6
7
8
9
10
11
#include" Punkt.h"

// Konstruktoren
Rechteck::Rechteck(void)
{
	Punkt a;
	Punkt b;
	Punkt c
	Punkt d;
}
// [...]


Ist die Definition der Parameter so in Ordnung, dass dadurch das Rechteck aus vier Instanzen der Klasse Punkt konstruiert würde?

Wie gesagt: Ich kann es leider bis morgen nicht probieren, lässt mir aber keine Ruhe! Danke im Voraus!

PS: Falls sich jemand beschwert: Die Idee der "Auslagerung" in mehrere Quelldateien/Einbindung eigener Header stammt nicht von mir, das soll allerdings genau so geschehen!
Auch entschuldige ich mich vorab für die etwas wirre Ausdrucksweise und evtl. irrtümliche Bezeichnungen, ich bin mit den Begriffen der OOP noch nicht vollends vertraut.

Gruß

Sven

This post has been edited 3 times, last edit by "TER" (May 22nd 2011, 4:03pm)


2

Sunday, May 22nd 2011, 9:56pm

Den Rechteck-Konstruktor kannst du komplett leer- und damit auch weglassen. Was du da anlegst sind lediglich lokale Variablen.
Klassendefinitionen enden ferner mit einem Semikolon.

Social bookmarks