int instance;
public:
Pure(int i);
+ virtual ~Pure() {}
virtual void pure_fun1(void) = 0;
virtual void pure_fun2(void) = 0;
virtual void impure_fun1(void);
{
public:
Derived(int i);
+ virtual ~Derived() {}
void pure_fun1(void);
void pure_fun2(void);
void impure_fun2(void);