Podzial funkcji na 2 osobne

0

Witam,
problem mam tego typu, ze posiadam funkcje ktora robi 2 rzeczy, liczy obrazenia i je sumuje przez co po wywolaniu operatora przypisania suma obrazen sie podwaja. Fakt, moge na poczatku funkcji wyzerowac sume=0 i bedzie po problemie ale chcialbym zrobic to w 2 osobnych funkcjach aby kazda robila jedna rzecz. Nie bardzo mi to wychodzi bo za kazdym razem sumuje jedynie ostatni wybrany typ.
Tak wyglada funkcja:

float damageOfShots()
{
    for(int i=0;i<newBullet;i++)
    {
        damageOfShot+=bullets[i]->damagePerShot();
    }
    return damageOfShot;
} 

a w taki sposob wywoluje ta funkcje w drugiej klasie gdzie tworze obiekt klasy z powyzsza funkcja:

 float totalDamageOfGun()
{
     return (*full_magazine).damageOfShots();
}

Moglby mi ktos pomoc rozwiazac ten problem?

0
ulQuiorra napisał(a)

http://ideone.com/W2CGuZ chodzi tu wylacznie o funkcje damageOfShots aby podzielic ja na 2 osobne by jedna zliczala te dmg a druga je sumowala zeby po przypisaniu w mainie obiektow suma sie nie podwajala.

Jedna zliczała, a druga sumowała? Że co?
Ale powoli - dlaczego pole damageOfShot jest modyfikowane w funkcji damageOfShots i po co istnieje totalDamageOfMagazine?

0

Nie rozumiem kompletnie o co Ci chodzi, ale strzelam, że wystarczy zmienną damageOfShot zadeklarować jako lokalną w tej funkcji.

1 użytkowników online, w tym zalogowanych: 0, gości: 1