xenayoo
Aktives Mitglied
Thread Starter
- Dabei seit
- 29.02.2004
- Beiträge
- 2.126
- Reaktionspunkte
- 6
Ich verzweifele noch über dem Buch von Arnold Willemer! Neues Problem: Konstanten in Klassen:
Was konstante Elementfunktionen sind und wie man Sie impliziert, weiß ich. Wie aber impliziert man Konstante in eine Klasse?
Zitat:"...es ist aber möglich, die Konstante über einen 'Initialisierer' am Konstruktor vorzubelegen:
class tKonstant
{
public:
const int MaxPuffer;
tKonstant() : MaxPuffer(500) {}
tKonstant(long size);
};
tKonstant::tKonstant(long size): MaxPuffer(size)
{
......
Der Initialisierer wird also immer bei der Definition der Konstruktorfunktion angebracht, nicht bei der Deklaration...."
So, die Zeile const int MaxPuffer; verstehe ich ja noch. Die nächsten 2 Zeilen nicht mehr, denn beides scheinen Deklarationen für denselben Konstruktor zu sein, der dann außerhalb der Klasse separat definiert und initialisiert wird.
Wer erklärt mir, was die zwei Zeilen im einzelnen bewirken?
Kann ich diese zwei Zeilen zusammenfassen - ähnlich der Initialisierung?
Kann ich dann auch Werte an die Klasse übergeben, und diese in einem Objekt als konstant definieren?
Was konstante Elementfunktionen sind und wie man Sie impliziert, weiß ich. Wie aber impliziert man Konstante in eine Klasse?
Zitat:"...es ist aber möglich, die Konstante über einen 'Initialisierer' am Konstruktor vorzubelegen:
class tKonstant
{
public:
const int MaxPuffer;
tKonstant() : MaxPuffer(500) {}
tKonstant(long size);
};
tKonstant::tKonstant(long size): MaxPuffer(size)
{
......
Der Initialisierer wird also immer bei der Definition der Konstruktorfunktion angebracht, nicht bei der Deklaration...."
So, die Zeile const int MaxPuffer; verstehe ich ja noch. Die nächsten 2 Zeilen nicht mehr, denn beides scheinen Deklarationen für denselben Konstruktor zu sein, der dann außerhalb der Klasse separat definiert und initialisiert wird.
Wer erklärt mir, was die zwei Zeilen im einzelnen bewirken?
Kann ich diese zwei Zeilen zusammenfassen - ähnlich der Initialisierung?
Kann ich dann auch Werte an die Klasse übergeben, und diese in einem Objekt als konstant definieren?