#include <iostream>
using namespace std;
class Programmers
{
public:
virtual void Show()
{
cout << "Programmers";
}
virtual ~Programmers() {}
};
class Love: public Programmers
{
private:
Programmers exec;
public:
Love(const Programmers& prm): exec(prm) { }
virtual void Show()
{
exec.Show();
cout << " Love";
}
};
class Recursion: public Programmers
{
private:
Love love;
public:
Recursion(const Love& l): love(l) {}
virtual void Show()
{
love.Show();
cout << " Recursion With OOP SHIT :D" << endl;
delete this;
}
};
int main()
{
Programmers* programmers = new Programmers();
Programmers* love = new Love(*programmers);
Programmers* myMessage = new Recursion(*love);
myMessage->Show();
delete love;
delete programmers;
getchar();
{