a tak w ogóle to lepiej argument zrobić const Wektor& w
też tak uważam ale z polecenia nie mogę zmodyfikować Klasy :)
Wektor Wektor::operator+(Wektor w)
Próbowałem tylko że
Wektor::Wektor operator+(Wektor w)
Geniusz :D...
Dziękuję ;)
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// Edit
Mam kolejny problem, dotyczy on operatorów poza definicją klasy. Napisałem ich definicje, niestety nie posiadają one dostępu do prywatnej składowej klasy. W zadaniu nie mogę zmodyfikować poniższego kodu ( nic dodac do klasy w ogole zadnych modyfikacji). To tak u diabła mam odnieść się do zmiennej prywatnej, jak operatory sa poza Klasa? Czy to błąd w treści zadania ?
int t[ROZ];
class Wektor
{
int t[ROZ];
public:
// Wektor(); // wektor zlozony z samych zer
//Wektor(int *d); // wektor wypelniony danymi z d
//Wektor operator+(Wektor w); // zwraca sume wektorow
// Wektor operator-(Wektor w); // zwraca roznice wektorow
//int operator*(Wektor w); // iloczyn skalarny dwoch wektorow
//Wektor operator*(int i); // iloczyn wektor * liczba
// int operator[](int i); // zwraca t[i]
};
ostream & operator <<(ostream & str, Wektor w); // wypisuje wektor na ekranie
Wektor operator *(int i, Wektor w); // iloczyn liczba*wektor
Tutaj moje definicjie przeladowanych operatorow, program dziala tylko jak int t[ROZ]; posiada modyfikator dostepu jako publiczny
ostream & operator <<(ostream & str, Wektor w)
{
str << "(" << w.t[0] << "," << w.t[1] << "," << w.t[2] << ")";
return str;
}
Wektor operator *(int i, Wektor w) // iloczyn liczba*wektor
{
Wektor wynik;
for(int j=0; j<ROZ; j++)
wynik.t[j] = w.t[j] * i;
return wynik;
}