Uczę się podstaw programowania obiektowego i mam zadanie do wykonania. Jego treść brzmi tak:
Wzorując się na klasie liczb zespolonych zespol , będącej
przedmiotem prezentacji multimedialnej zdefiniuj w ciele lub
poza ciałem przedstawionej poniżej klasy wektor jej metody.
Klasa wektor wygląda tak:
class wektor{
string nazwaWektora;
double x, y, z;
public:
wektor(double = 0., double = 0.,
double = 0., string = "");
wektor operator+(wektor w);
wektor operator*(wektor w);
double getX();
double getY();
double getZ();
string getNazwa();
};
Starałem się odwzorować tę klase wektor na podstawie klasy zespol z tego filmu https://www.youtube.com/watch?v=KgFvWujIRqA . Finalnie to wyszło tak:
#include <iostream>
using namespace std;
class wektor{
double x, y, z;
public:
wektor(double X = 0., double Y = 0., double Z = 0.){
X = x;
Y = y;
Z = z;
}
double getX(){return x;}
double getY(){return y;}
double getZ(){return z;}
};
ostream& operator<<(ostream& strumien, wektor& w){
strumien << "(" << w.getX() << ", " << w.getY() << ", " << w.getZ() << ")";
return strumien;
}
wektor w1;
int main(){
wektor w1(1., 0.);
cout << "w1 = " << w1 << endl;
return 0;
}
ale efekt finalny jest inny od zamierzonego. Program co prawda działą i sie normalnie kompiluje ale dane wyjściowe są inne niż powinny. Dostaje coś takiego:

Czy ktoś wie gdzie tkwi problem, i jak go mogę rozwiązać?