[C++] Klasa z tablicą dynamiczna - alokowanie pamięci
Ostatnio zmodyfikowano 2017-02-24 08:53
_Hulk_ Temat założony przez niniejszego użytkownika |
[C++] Klasa z tablicą dynamiczna - alokowanie pamięci » 2017-02-24 00:40:56 Witam, mam takie zadanie : muszę stworzyć obiekt będący dynamiczną tablicą dla int. Obiekt musi dynamicznie zarządzać pamięcią - samodzielnie. Musi posiadać kilka metod między innymi taką, która doda element na końcu tablicy. Ja rozumiem to tak - trzeba zaalokować pamięć na nowo przepisać wartości, usunąć "stary obiekt", ?przepisać wskaźniki pod starą nazwę? . Tu właśnie jest problem - nie mam pomysłu jak to zrobić... Obiekt powinien nazywać się tak samo aby można było używać go dla innych operacji w kodzie. Nie wiem czy to jest dobre rozwiązanie - może ktoś ma lepszy pomysł? Moja klasa: class Tablica { private: int rozm; int * tab; int wartosc; static int ilosc; public: Tablica( int rozm ); Tablica( const Tablica & Tab ); ~Tablica(); int size(); void podaj( int numer, int dana ); int pokaz( int numer ); int rozmiar(); }; Moje metody: Tablica::Tablica( int rozm ) { this->rozm = rozm; tab = new int[ rozm ]; for( int i = 0; i < rozm; i++ ) { tab[ i ] = 0; } ilosc++; cout << "Jestem w konstruktorze - tablica " << ilosc << endl; }
Tablica::Tablica( const Tablica & Tablica ) { this->rozm =( Tablica.rozm + 1 ); tab = new int[ rozm ]; memcpy( tab, Tablica.tab, sizeof( int ) *( rozm - 1 ) ); ilosc++; cout << "Jestem w konstruktorze kopiujacym " << ilosc << endl; }
Tablica::~Tablica() { ilosc--; cout << "Jestem w destruktorze - tablica " << ilosc << rozm << endl; delete[] tab; }
int Tablica::size() { return rozm; }
void Tablica::podaj( int numer, int dana ) { tab[ numer ] = dana; }
int Tablica::pokaz( int numer ) { return tab[ numer ]; }
int Tablica::rozmiar() { return rozm; } |
|
pekfos |
» 2017-02-24 00:46:57 Twój problem nie ma nic wspólnego z obiektowością. Cały problem sprowadza się do obliczenia nowych wartości dla 2 zmiennych. |
|
_Hulk_ Temat założony przez niniejszego użytkownika |
» 2017-02-24 07:21:13 No tak...to już jest jakiś trop - ale obawiam się, że muszę was prosić o więcej wskazówek. Na tą chwile próbowałem przepisywać wskaźniki ale nic z tego nie wyszło.
|
|
hit |
» 2017-02-24 08:53:35 http://cpp0x.pl/kursy/Kurs-C++/Dynamiczne-zarzadzanie-pamiecia-new-i-delete/307
Spójrz na to, powinno pomóc. |
|
« 1 » |