Laboratorium nr 3
Temat: Definicja klas oraz tworzenie obiektów.
1) Klasa i obiekt
W języku C++, w porównaniu do zwykłego C, istnieje możliwość używania klas (class). W rzeczywistości klasa
jest typem danych, podobnym do struktur (struct), przy czym, w klasie oprócz danych można również
przechowywać funkcje. Zmienne typu class nazywają się obiektami.
W celu wskazania, że definiowane funkcje są składowymi klasy używa się operatora zakresu ::,np.
void klasa::funkcja (void) {...}
Struktura
Klasa
# include <conio.h>
# include <iostream.h>
# include <stdio.h>
# include <stdlib.h>
struct macierz {
int x,y;
int tab[3][3];
};
int main() {
int wybor;
struct macierz A;
do {
cout << "MENU:\n";
cout << "1. utworz\n";
cout << "2. wyswietl\n";
cout << "9. koniec\n";
cin >> wybor;
clrscr();
switch (wybor) {
case 1 :
{
A.x=2;
A.y=2;
for (int i=0; i<=A.x; i++)
for (int j=0; j<=A.y; j++)
A.tab[i][j]=rand();
cout << "\nZadeklarowano macierz";
getch();
clrscr();
break; }
case 2 :
{
for (int i=0; i<=A.x; i++)
for (int j=0; j<=A.y; j++)
cout << "A["<< i <<"][" << j<< "]="
<< A.tab[i][j] << "\n";
cout << "\nZadeklarowana macierz";
getch();
clrscr();
break; }
case 9 :
{
cout << "\nKoniec";
break; }
};
} while (wybor!=9);
getch();
return 0;
}
# include <conio.h>
# include <iostream.h>
# include <stdio.h>
# include <stdlib.h>
class macierz {
public:
int x,y;
int tab[3][3];
int wprowadz(int i, int j, int w);
};
int macierz::wprowadz (int i, int j, int w) {
tab[i][j]=w;
return 0;
};
int main() {
class macierz A;
int wybor;
do {
cout << "MENU:\n";
cout << "1. utworz\n";
cout << "2. wyswietl\n";
cout << "9. koniec\n";
cin >> wybor;
clrscr();
switch (wybor) {
case 1 :
{
A.x=2;
A.y=2;
for (int i=0; i<=A.x; i++)
for (int j=0; j<=A.y; j++)
A.wprowadz(i,j,rand());
cout << "\nZadeklarowano macierz";
getch();
clrscr();
break; }
case 2 :
{
for (int i=0; i<=A.x; i++)
for (int j=0; j<=A.y; j++)
cout << "A["<< i <<"][" << j<< "]="
<< A.tab[i][j] << "\n";
cout << "\nZadeklarowana macierz";
getch();
clrscr();
break; }
case 9 :
{
cout << "\nKoniec";
break; }
};
} while (wybor!=9);
getch();
return 0;
}
2) Zadanie
Opracuj program, który będzie definiował obiekt typu „macierz” o zadanych wymiarach np. 3x3, z możliwością
dodawania, kasowania oraz itp. poszczególnych elementów 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);
wyswietl ();
itp.()...;
}
1
2
3
4
5
6
7
8
9
Program powinien posiadać krótkie menu wyboru, np.:
1. Utwórz macierz
2. Wprowadź element macierzy
3. Kasuj element macierzy
4. Wyświetl macierz
5. itp.
6. Koniec