#include <iostream>
#include "singleton.h"
using namespace std;
class A:public CSingleton<A>
{
public:
A(){cout<<"construyendo A"<<endl;}
~A(){cout<<"destruyendo A"<<endl;}
};
class C
{
public:
C(){cout<<"construyendo C"<<endl;}
~C(){cout<<"destruyendo C"<<endl;}
};
class B:public CSingleton<B>,public C
{
public:
B(){cout<<"construyendo B"<<endl;}
~B(){cout<<"destruyendo B"<<endl;}
};
int main()
{
A *p1=poSingleton<A>();
B *p2=poSingleton<B>();
delete p1;
delete p2;
return 0;
}