If the destructor is not virtual, and we have some derived class from `PostureConstraint` called `PostureConstraintDerived`, we can have a problem when doing this
```
PostureConstraint* cnstr = new PostureConstraintDerived();
delete cnstr;
```