for-schleife, mehrere funktionen aufrufen?
-
Hi,
ich hab mal ne frage zu der for schleifeich weis das man boolsche ausdrücke als abbruchskriterium verknüpfen kann. was ich jedoch machen möchte ist letztendlich das ich zwei funktionen für die initialisierung nehme und zwei inkrementierbedingungen!
geht das ?
bsp:
template <class T> int LISTE<T> :: operator == (LISTE<T> &list) { bool bEqual; bEqual = true; list.res(); for(res(); !end() && bEqual && !list.end(); adv()) { if(get() != list.get()) bEqual = false; list.adv(); } return bEqual; }hier bräuchte man dann nciht das list.res(); vor die schleife schrieben und das list.adv() in der schleife.
THX schon mal für die antworten !
-
Geht das? - Probier es doch aus. Du kannst btw im Schleifenkopf z.B. mehrere Anweisungen auf einmal azusführen, indem du sie mit einem ',' trennst.
for( i = 0, j = 1; (i < 50 && j >= 1); ++i, j /= 2 ) ;
-
ok danke hat gefunzt !
-
ich vermute fast, hier solle man aber ne while-scheife nehmen.
edit: und sofort rausreturnen, wenn das ergebnis feststeht und damit das flag einsparen.
-
template <class T> int LISTE<T> :: operator == (LISTE<T> &list) { for(list.res(), res(); !end() && !list.end();list.adv(), adv()) { if(get() != list.get()) return false; } if (end() && list.end()) { return true; } else { return false; } }hab das nun so gelöst . danke auch noch mal für den zweiten beitrag !
-
ulath schrieb:
if (end() && list.end()) { return true; } else { return false; }Wie wäre es mit
return end() && list.end();
?
-
sehr ordentlich.

und beachtet, daß es ncht möglich gewesen wäre, mit struktogrammen auf ne schöne lösung zu kommen.