C++ OOP hiba

C++ OOP hiba
2022-03-07T21:16:55+01:00
2022-03-08T12:16:00+01:00
2022-10-15T21:20:39+02:00
Silwex
Sziasztok!
Egyetemen elakadtam az egyik HF-m debugolásával. Nem tudom mi a hiba és azt sem mi okozza. Lehet triviális, kérlek ne kövezzetek meg.
A '*' operátort akartam overloadolni, n darab egyforma r ellenállás összege (soros kapcsolása). A '+' operátort megírtam hozzá.
A kód amiben a hiba van, egy külön cpp fájlban van, a definíciók egy headerben. A .h fájlban nem lehet hiba, nem én írtam, hanem a feladat. Mellékelem a maint egy cpp fájlban és a hibás függvény kódját:

Resistor Resistor::operator*(int n, const Resistor& r)
{
    Resistor temp;
    if(n <= 0)
        throw("Hiba!");
    else
    {
        for(int i = 0; i < n; i++)
        {
            temp.R = R + r.R;
        }
    }

    return temp;
}
Mutasd a teljes hozzászólást!
Csatolt állomány
A header szerint a

Resistor operator*(int n, const Resistor& r);
nem a Resistor osztály része !
Tehát implementálni is ennek megfelelően kellene...
Mutasd a teljes hozzászólást!

Tetszett amit olvastál? Szeretnél a jövőben is értesülni a hasonló érdekességekről?
abcd