Commit 26511aef by Patryk Czarnik

konstruktor kopiujący oraz operator=

parent bf2f2b37
......@@ -21,15 +21,25 @@ Wektor::Wektor()
// co powodowałoby mnóstwo problemów:
// - wzajemne nadpisywanie zawartości podczas operowania na dwóch zmiennych
// - double free pod koniec życia obiektów
// Wektor::Wektor(const Wektor &zrodlowy)
// : rozmiar_tablicy{zrodlowy.rozmiar_tablicy},
// liczba_elementow{zrodlowy.liczba_elementow}
// {
// t = new TypWartosci[rozmiar_tablicy];
// for(TypIndeksu i=0; i<liczba_elementow; i++) {
// t[i] = zrodlowy.t[i];
// }
// }
Wektor::Wektor(const Wektor &zrodlowy)
: rozmiar_tablicy{zrodlowy.rozmiar_tablicy},
liczba_elementow{zrodlowy.liczba_elementow}
{
t = new TypWartosci[rozmiar_tablicy];
for(TypIndeksu i=0; i<liczba_elementow; i++) {
t[i] = zrodlowy.t[i];
}
}
Wektor& Wektor::operator=(const Wektor &zrodlowy) {
rozmiar_tablicy = zrodlowy.rozmiar_tablicy;
liczba_elementow = zrodlowy.liczba_elementow;
t = new TypWartosci[rozmiar_tablicy];
for(TypIndeksu i=0; i<liczba_elementow; i++) {
t[i] = zrodlowy.t[i];
}
return *this;
}
Wektor::~Wektor() {
std::cout << "destruct\n";
......
......@@ -20,7 +20,9 @@ class Wektor {
public:
Wektor();
//Wektor(const Wektor&);
Wektor(const Wektor&);
Wektor& operator=(const Wektor&);
~Wektor();
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment