Verständnisproblem mit Klassen, Vererbung, Pointer

leon_20v

Erfahrenes Mitglied
Hallo,

folgender Codeausschnitt:

Code:
class Lieferant : public Partner 
{
public:
    tOffenePosten *Rechnungen;
};

class Aussendienst : public Mitarbeiter 
{
public:
    tBezirk Bezirk;
};

1. Lieferrant bekommt von der Klasse Partner alle eigenschaften und Methoden (vererbung)

2. Enum tOffenePosten ist klar, aber warum kommt hier ein Pointer? (*Rechnungen)
Kann es sein, das hier ein Pointer sein muss, da eine Liste implementiert wird und ich anstatt diesem Pointer auch ein Array nehmen könnte, was dann allerdings nicht mehr dynamisch wäre?

3. rest ich auch klar, nur warum kommt bei Rechnungen ein Pointer und bei Bezirk dann wiederum nicht?
 
Moin,

im Endeffekt kann man das so pauschal und weiteren Code schlecht beantworten ....

Zwingend ist die Verwendung eines Zeiger à priori sicher nicht!
Das hängt stark von der weiteren Verwendung ab (es ändert sich dann lediglich der Zugriff auf die Elemente der Enumeration) !

Du müsstest schon den gesamten Code posten - also zeigen, wo (und wie) Rechnungen und Bezirk verwendet wird !!

Gruß
Klaus

EDIT:
hier noch ein Link, der Pointer und ihre Verwendung ganz gut erläutert :-)
http://www.cplusplus.com/doc/tutorial/pointers/
 
Zuletzt bearbeitet:
Hi.
2. Enum tOffenePosten ist klar, aber warum kommt hier ein Pointer? (*Rechnungen)
Offenbar kann es mehrere oder auch keine Rechnung(en) geben. (0..n)

Dies kann man mit einem Zeiger auf ein dyn. erzeugtes Array speichern.
3. rest ich auch klar, nur warum kommt bei Rechnungen ein Pointer und bei Bezirk dann wiederum nicht?
Ein Aussendienst Mitarbeiter muss offenbar genau einem Bezirk zugeordnet sein.

Gruß
 
danke für eure antworten,

das Bsp ist in einem Buch indem Vererbung erklärt wird.

Wenn es ein dynamisch erzeugtes array wäre, dann müsste ich doch irgendwo ein "new" verwenden, aber das sehe ich leider nirgends :(
 
Hi.
Wenn es ein dynamisch erzeugtes array wäre, dann müsste ich doch irgendwo ein "new" verwenden, aber das sehe ich leider nirgends :(
Es müßte new[] verwendet werden. Wir sehen auch nichts, da du uns die keine Implementierung gezeigt hast...

Was ist denn tOffenePosten für ein Typ? Ich kann mir schlecht vorstellen, das es sich um ein enum handelt...

Evtl. ist es auch nur ein an den Haaren herbeigezogenes Beispiel bei dem man von den Details mal absehen sollte. Zumindest hier (http://www.willemer.de/informatik/cpp/cpperben.htm) wird nicht näher darauf eingegangen.

Gruß
 
Zurück