Thanks for the information! :D Exactly what I needed.
An abstract class is a protocol class if:1. It neither contains nor inherits from classes that contain member data, non-virtual functions, or private (or protected) members of any kind.2. It has a non-inline virtual destructor defined with an empty implementation,3. All member functions other than the destructor including inherited functions, are declared pure virtual functions and left undefined..