Laboratorium nr 8
Temat: Przeciążanie funkcji składowych oraz konstruktorów klas
1. Koncepcja przeciążania funkcji w C++
W C++ nie ma konieczności przestrzegania typów danych, gdyż jest on w stanie sam sprawdzić
typ danych a następnie stwierdzić czy wywołana funkcja została zdefiniowana z danym tym typem
danych. Ta sama funkcja może być w C++ zdefiniowana wielokrotnie dla różnych typów parametrów,
przy czym C++ użyje automatycznie właściwej wersji funkcji, którą odnajdzie na podstawie typu i liczby
przesyłanych argumentów.
# include
# include
# include
# include
using namespace std;
class macierz {
public:
int x,y;
int *tab_itg;
float *tab_flt;
int wyswietl(int *tab);
int wyswietl(float *tab);
int wprowadz(int *tab, int w);
int wprowadz(float *tab, float w);
macierz(int n, int m, int w);
macierz(int n, int m, float w);
~macierz();
};
int macierz::wyswietl(int *tab){
cout << "\nMacierz: Integer" << endl;
for (int i=0; i for (int j=0; j cout <<"\n";
};
};
int macierz::wyswietl(float *tab){
cout << "\nMacierz: Float" << endl;
for (int i=0; i for (int j=0; j cout <<"\n";
};
};
int macierz::wprowadz (int *tab, int w) {
for(int i=0;i return 0;
};
int macierz::wprowadz (float *tab, float w) {
for(int i=0;i return 0;
};
macierz::macierz(int n, int m, int w){
x=n;
y=m;
tab_itg=new int[n*m];
for (int i=0; i for (int j=0; j *(tab_itg+y*i+j)=w;
}
macierz::macierz(int n, int m, float w){
x=n;
y=m;
tab_flt=new float[n*m];
for (int i=0; i for (int j=0; j *(tab_flt+y*i+j)=w;
}
macierz::~macierz(){
delete[] tab_itg;
delete[] tab_flt;
};
int main() {
class macierz *A, *B;
A=new macierz(3,3,(int)0);
A->wprowadz(A->tab_itg,1);
A->wyswietl(A->tab_itg);
B=new macierz(3,3,(float)0);
B->wprowadz(B->tab_flt,2.2);
B->wyswietl(B->tab_flt);
getch();
delete A;
delete B;
return 0;
}
2. Zadanie:
Zmodyfikuj powyższy program tak, aby istniała dodatkowo możliwość deklaracji macierzy
znakowych, przy czym program powinien posiadać podstawowe operacje na elementach macierzy (tzn.
kasowanie, dopisywanie, itp.) w zależności od typu danych
Uwaga: Program powinien składać się z oddzielnych plików, tzn. pliku głównego oraz plików
zdefiniowanych klas, itp.
Program powinien posiadać krótkie menu wyboru, np.:
1. Utwórz macierz: integer, float, char
2. Wyświetl macierz
3. Wpisz element macierzy
4. Kasuj element macierzy
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