• 15.07.2025, 16:12
  • Registrieren
  • Anmelden
  • Sie sind nicht angemeldet.

 

Eumel

God

[C++] Methoden-Frage

Montag, 24. November 2003, 12:44

Wie kann ich es realisieren, dass eine Methode 3 Parameter + n weitere Parameter übernimmt (n vom selben Typ) ?

Also, wie bei der sprintf-Anweisung. Wo man ja auch beliebig viele Parameter anhängen kann.

Quellcode

1
void multi(BITMAP * sur, int editCol, int blitCol, CEditBox box2, CEditBox box3, CEditBox box4)


Ich will nun unbegrenzt mögliche "boxen" übernehmen können.

Wie so in der Art:

Quellcode

1
void multi(BITMAP * sur, int editCol, int blitCol, CEditBox ...)


Kann mir wer helfen?

MfG

Edit: Nochwas: Wie kann ich, wenn es denn möglich ist, in der Methode dann überprüfen, wie viele Parameter nun übergeben wurden?
"I've always said, the Web is the sum of all human knowledge plus porn.", Ron Gilbert
UltraStar Manager 1.7.2 | Infos zu meinem PC | .o0 DeathSpank 0o.

sebastian

Administrator

Re: [C++] Methoden-Frage

Montag, 24. November 2003, 12:57

Hallo,
übergebe doch die Parameter als offenes Array, und ne Int Zahl die angibt wie groß das Array ist.

Man kann alternnativ wenns auf Speicher und Laufzeitverbrauch ankommt auch Pointer vom Array übergeben, oder du baust dir ne struktur mit einem Prametersatz pro Objekt, und dann ein Array aus den Strukturen, dann übergib den Pointer auf das Array.


MfG
Sebastian

Eumel

God

Re: [C++] Methoden-Frage

Montag, 24. November 2003, 13:05

Quellcode

1
void multi(BITMAP * sur, int editCol, int blitCol, CEditBox [10], int amount);


So ? Und wie rufe ich die Funktion dann auf?

MfG
"I've always said, the Web is the sum of all human knowledge plus porn.", Ron Gilbert
UltraStar Manager 1.7.2 | Infos zu meinem PC | .o0 DeathSpank 0o.

PAB

God

Re: [C++] Methoden-Frage

Montag, 24. November 2003, 19:42

void multi(BITMAP * sur, int editCol, int blitCol, CEditBox *Box[], int amount)
{
for( int i = 0; i < amount; i++ )
{
Box->Property = Value;
}
}

Aufruf:
CEditBox *Boxes[10] = {Box1, Box2, ...};
multi(..., Boxes, 10);

Eumel

God

Re: [C++] Methoden-Frage

Montag, 24. November 2003, 21:23

THX!

MfG
"I've always said, the Web is the sum of all human knowledge plus porn.", Ron Gilbert
UltraStar Manager 1.7.2 | Infos zu meinem PC | .o0 DeathSpank 0o.