Zadanie domowe

Tresc zadania

Prosze zaimplementowac klase Vector:
  class Vector
  {
    private:
	int wym; //liczba wspolrzednych wektora
	double *wsp; 	
    public:
	//konstruktory
	Vector();
	Vector( int, double*);
	Vector( Vector&); //konstruktor kopiujacy
	//destruktor
	~Vector();
	double length(); //dlugosc wektora
	Vector& operator=(Vector&); //operator przypisania
	// ewentualne inne funkcje
  };

oraz nastepujace funkcje
	double operator*(Vector&, Vector&); //iloczyn skalarny
	Vector& operator+(Vector&, Vector&); //suma wektorow
	Vector& operator-(Vector&, Vector&); //roznica wektorow	
	bool operaotr==(Vector&, Vector&); //porownanie wektorow
	ostream& operator<<(ostream&, Vector&); //wypisywanie wektora
	istream& operator>>(istream&, Vector&); //wczytywanie wektora

Dzialanie poszczegolnych funkcji skladowych jest nastepujace

Ponizej znajduje sie przykladowa funkcja main korzystajaca z klasy i funkcji, ktore maja Panstwo zaimplementowac



int main( )
{
	Vector v1; 
	double tab[4];
	for(int i = 0; i < 4; i++){
		tab[i] = i*i;
	} //stworzylismy tablice kwadratow liczb
	Vector v2(4, tab); //tworzymy wektor ktorego wspolrzednymi sa elementy wczesniej utworzonej tablicy
	cout<< "Dlugosc wektora to: " << v2.lenght();
	v1 = v2; //przypisujemy wartosc wektora v2 do v1
	Vector v3 = v2; //tworzymy nowy wektor identyczny z v2
	cout<< v1 - v2 << v1+ v2; //wypisuje roznice wektorow v1 i v2 oraz sume wektorow v1 i v2
	if ( v3 == v2){ //jesli wektory v3 i v2 sa rowne (powinny byc rowne)
		Vector v4; //stworz kolejny wektor
		cin>> v4; //wczytaj go z klawiatury
		cout<< v4 //wypisz wektor v4
	}
	cout<< v4* v3; //wypisuje iloczyn skalarny wektorow
	return 0;
}

Implementacje wszystkich funkcji powinny wykrywac bledy (np. niemoznosc zaalokowania pamieci) i w razie bledu konczyc program (np. przez wywolanie funkcji exit). Gdy poznamy mechanim obslugi wyjatkow, bedziemy mogli zaimplementowac lepsza obsluge bledow.

Sprawdzanie zadania

Bedziemy oceniac, czy program zachowuje sie poprawnie, oraz czy klasa Vector zostala zaprogramowana poprawnie i elegancko.