Laboratorium nr 6
Temat: Dynamiczna alokacja pamięci
1. Dynamiczna alokacja pamięci funkcja new and delete
Najbardziej popularnym sposobem zarządzania pamięcią w C++ jest użycie funkcji new oraz delete.
Zalety użycia funkcji new:
" w czasie tworzeniu obiektów istnieje możliwość przesłania parametrów w do konstruktora,
" nie jest potrzebna już funkcja sizeof(), wystarczy jedynie typ danych,
" zwraca bezpośredni wskaznik, w związku z czym nie ma potrzeby rzutowania/zamiany typów,
" ponadto, oba operatory można przeciążać odpowiednio dla danej klasy.
# include
# include
# include
# include
# include
using namespace std;
class macierz {
private:
int x,y;
int *tab;
char nazwa[8];
public:
macierz(char * nzw, int n, int m);
~macierz();
int wprowadz(int i, int j, int w);
int wyswietl();
};
macierz::macierz(char * nzw, int n, int m){
x=n;
y=m;
strcpy(nazwa,nzw);
tab=new int[n*m];
for (int i=0; i for (int j=0; j *(tab+y*i+j)=0;
}
macierz::~macierz(){
delete[] tab;
};
int macierz::wprowadz (int i, int j, int w) {
*(tab+y*i+j)=w;
return 0;
};
int macierz::wyswietl(){
cout << "\nMacierz=" << nazwa << endl;
for (int i=0; i for (int j=0; j cout <<"\n";
};
};
int main() {
class macierz *A,*B;
A=new macierz("AAA",3,3);
A->wprowadz(1,1,1);
A->wyswietl();
B= new macierz("BBB",4,4);
B->wprowadz(1,1,1);
B->wyswietl();
getch();
delete A;
delete B;
return 0;
}
2. Zadanie:
Opracuj program, który będzie definiował obiekt typu macierz o zadanych wymiarach np. 3x3, z
możliwością wstawiania, zerowania poszczególnych elementów macierzy jak również dodawania i
mnożenia dwóch macierzy, w oparciu o funkcje składowe klasy macierz , np.:
class macierz {
public:
int x,y;
int tab[3,3];
wprowadz(int i, int j);
kasuj (int i, int j);
dodaj(...);
pomnoz(...);
wyswietl (...);
itp.()...;
}
Uwaga: Program powinien składać się z oddzielnych plików, tzn. pliku głównego, pliku klasy, itp.
Program powinien posiadać krótkie menu wyboru, np.:
1. Utwórz macierz
2. Wprowadz element macierzy
3. Kasuj element macierzy
4. Wyświetl macierz
5. itp.
6. Koniec
Wyszukiwarka
Podobne podstrony:
Lab cpp
Lab cpp
Lab cpp
Lab cpp
Lab cpp
Lab cpp
Lab cpp
Lab cpp
Lab cpp
Lab cpp
Lab cpp
Lab cpp
lab 2
T2 Skrypt do lab OU Rozdział 6 Wiercenie 3
IE RS lab 9 overview
lab pkm 3
CPP (2)
lab chemia korozja
więcej podobnych podstron