Uzupełnij Klasy K1, K2, K3 oraz W tak aby program można było poprawnie zbudować i wykonać

Dane są klast K1, K2, K3 jak niżej: class K1{

class K2{

public:

public:

K1(){ std::cout << "Dzia;a konstruktor klasy K1" << std::endl; } K2(){ std::cout << "Dziala konstruktor klasy K2" << std::endl; }

private:

private:

~K1(){std::cout << "Dziala destruktor klasy K1" << std::endl; }

~K2(){std::cout << "Dziala destruktor klasy K2" << std::endl; }

public:

public:

// ....

// ....

};

};

class K3{

private:

K3(){std::cout << "Dziala konstruktor klasy K3" << std::endl; }

~K3(){ std::cout << "Dziala destruktor klasy K3" << std::endl; }

public:

// ....

};

Oraz dana jest funkcja main( ): int main(){

K1* sK1 = W::stworzObiekt_K1(); K2* sK2 = W::stworzObiekt_K2(); K3* sK3 = W::stworzObiekt_K3(); W::kasujObiekt_K1( sK1 ); // sK1 przekazany przez referencje do wskaźnika W::kasujObiekt_K2( sK2 ); W::kasujObiekt_K3( sK3 ); K1* fsK1 = funkcja_tworz_K1(); K2* fsK2 = funkcja_tworz_K2(); K3* fsK3 = funkcja_tworz_K3(); funkcja_kasuj_K1( fsK1 ); // przekazanie wskaznika przez referencje (K1*&) funkcja_kasuj_K2( fsK2 ); // przekazanie wskaznika przez referencje (K2*&) funkcja_kasuj_K3( fsK3 ); // przekazanie wskaznika przez referencje (K3*&) return 0;

}