title: C++: How to create an abstract base class if class has no member functions?
body: <p>I have an abstract base class, which serves the purpose of allowing an array of pointers to a base class to be created. (Useful for 'many things'...)</p>
  
  <p>My abstract base class contains no member functions. Therefore there are no pure virtual methods, and therefore I guess it is not technically abstract.</p>
  
  <p>However, I do not want to be able to create an instance of this class.</p>
  
  <p>Is it possible to create a memberless abstract base class? If not, is there another resolution to preventing an instance of my "abstract base" from being created? Will making the constructor <code>protected</code> suffice?</p>
  
  <p>It has been pointed out to me that actually, an abstract base class would not be required if the purpose of that class was to allow a vector or array of pointers to the base class to be created - one could simply not have a base class and use as the base class the class at the top of the inheritance hierarchy. Alternatively, one could copy and paste that top class and exchange the implemented methods for pure virtual functions with no implementation, however this seems logically inconstant with the idea of abstract base pointers, and would lead to more difficult to maintain code.</p>