Tak zaimplementuj daną
klasę, aby wywołania w funkcji poniższej funkcji main były poprawne (i nie
zapomnij o zaimplementowaniu destruktora):
class Klasa {
public:
int *val;
// tablica liczb
całkowitych
int
size;
// długość tablicy liczb
całkowitych
Klasa(int*args=0, int _size=0):size(_size) { // konstruktor klasy
val = 0;
if(size>0) {
val = new int[size];
for(int i=0; i< size; i++)
val[i] = args[i];
}
}
...
};
int main()
{
int
*tab1 = new int[10];
for (int i=0;
i<10; i++)
tab[i] = i;
//
inicjalizacja przykładowej tablicy
int *tab2 =
new int[10];
for (int i=0;
i<10; i++)
tab[i] = i*10;
//
inicjalizacja przykładowej tablicy
Klasa
k1(tab1, 10);
Klasa
*pk4 = new
Klasa(tab2)
Klasa
k2(k1);
//
konstruktor kopiujący
Klasa k3;
k3
=
k1;
// operator
przypisania
if(k3
==
k1)
// operator
porówania ==
cout << "Obiekty k3 i k1 sa rowne" <<
endl;
if(k3
!= *pk4)
// operator
porówania !=
cout << "Obiekty k3 i *pk4 sa rozne" <<
endl;
cout
<< "Największa liczba w obiekcie = " <<
!
*pk4 <<
endl;
//
operator !
cout <<
"Najmniejsza liczba w obiekcie
= " << ~k1
<< endl;
// operator
~
cout
<< "Liczba z pozycji 3
= " << k1[2]
<< endl;
// operator
[ ]
cout
<< k1 << k2 << k3 << *pk4;
//
operator <<
delete
pk4;
//
destruktor
delete
tab1;
delete
tab2;
return 0;
}