class Interface { virtual ~Interface() = 0; virtual void doSomething() = 0; ~Interface() { //deleting allocat