In the prototype pattern described on wiki page in the link above, the class Record has a pure virtual function so that it acts as an abstract class for the classes derived from it. The Record class also has a default constructor declared in it. What's the purpose of that constructor, if the objects of the abstract classes are never to be created?
The default constructor is called when you construct an object of a derived type.
However in this case, since the default constructor does nothing, you could simply omit the default constructor, since the compiler gives you that one, just as it is, automatically.