If this question has been asked I apologize. I am writing a c++ class which will be interfaced with python. The class implementation so far is:
struct body_data
{
map <int, atom*> atoms;
map <int, bond*> bonds;
map <int, dihedral*> dihedrals;
};
This class is the base class for another class. I have not added in the destructor for this class because I am very confused. In all of the posts I have read about destructors for base classes they suggest the destructor should either be public virtual or protected. Since i am not planning on using the above class polymorphically in either the c++ code or python interface do I really need to make the destructor public virtual or protected? I was thinking of making the class public so programmers would know never to use this class polymorphically. Is my thinking correct?