Przeciazenie operatora -

0

Chciałem zrobić tak by nowo utworzony obiekt nowy miał przeciwne elementy w tablicy . Niestety tylko jeden element pokazuje mi się z wartoscią przeciwną i jest nim -0 (tragedia). Do tego chciałem wykorzystać przeciążenie operatora - (nie jestem pewny jak go wypowiadać negacji ?)
Jakby ktoś z was napisałby mi gdzie jest błąd w kodzie byłbym bardzo wdzięczny. (wiem, że ten kod jest bezsensu służy tylko do sprawdzenia)

 
#include <iostream>

using namespace std;

const int rozmiar = 50;

class k {

public:
    double tablica[rozmiar];
    k()
    {
        for (int i = 0; i < rozmiar ; i++)
            tablica[i] = i;
    }

    void const wyswietlam()const
    {
        for (int i = 0; i < rozmiar ; i++) {
            cout << tablica[i] << endl;
        }
    }

};
k operator-(const k& obiekt)
{
    k rezultat;
    for (int i = 0; i < rozmiar ; i++) {
        rezultat.tablica[i] = -obiekt.tablica[i];
        return rezultat;
    }
}
int main()
{
    k pola;
    pola.wyswietlam();
    k nowe = -pola;
    nowe.wyswietlam();

    return 0;
}

2

return jest wewnątrz pętli w tym operatorze. Miał być na końcu funkcji.

0

Dziekuje ! nie wiem jak tego nie zauwazylem :D

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