L
Indem du nachdenkst
Du weißt vorher noch nicht, welche Zahl jetzt "a" und welche "b" heißt. Somit ist es nicht möglich das automatisiert hinzubiegen. Dies wiederum bedeutet für dich dass du zwei neue Methoden (als SLOTS) brauchst: decrement und increment.
void Zahl::increment(int zahl)
wert = zahl-1;
}
void Zahl::decrement(int zahl)
{
wert = zahl+1;
}
Jetzt müssen wir nur noch richtig connecten:
Dazu die ganze main:
int main(void)
{
Zahl a, b; // a.wertLesen() == 0, b.wertLesen() == 0
a.setzeWert(5); // a.wertLesen() == 5, b.wertLesen() == 0
b.setzeWert(48); // a.wertLesen() == 5, b.wertLesen() == 48
// QObject::connect(&a, SIGNAL( wertGeaendert(int) ), &b, SLOT( setzeWert(int) ) ); Das können wir ja nicht mehr gebrauchen, oder?
QObject::connect(&a, SIGNAL( wertGeaendert(int) ), &b, SLOT( decrement(int) ) );
QObject::connect(&b, SIGNAL( wertGeaendert(int) ), &a, SLOT( increment(int) ) );
a.setzeWert(12); // a.wertLesen() == 12, b.wertLesen() == 11
b.setzeWert(23); // a.wertLesen() == 24, b.wertLesen() == 23
}