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
k5(tab2, 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 <<
"Srodkowa liczba w k1 = " << *k1
<< endl;
// operator
*
cout <<
"Srodkowa liczba w k5 = " << *k5
<< endl;
cout
<< "Dluzszy ze srodkowych lancuchow w obiektach k4 i k1 = " <<
(k1,k5)
<< endl;
cout
<< "Liczba z pozycji 3
= " << k1[2]
<< endl;
// operator
[ ]
cout
<< k1 << k2 << k3 << *pk4;
//
operator <<
delete
pk4;
//
destruktor
delete tab1;
delete tab2;
return 0;
}