Sorry for the delay in reply!!
For your first question!!
Here the Design seems to be not correct. I don't see any difference between Base class Derived classes. So need to revist Design here.
For your second question
2) If contracts(pre|postconditions) don't specify for base abstract Scales. How do they look to derived class? They are stronger, weaker?
For pure virtual functions
, where in you do not have definitions for the functions and when you override in Derived class, we need to have strong Pre-Condition and Post condition that are specific to Derived one.
And for your continuation of second question i.e.
I think preconditions for base class can't be the weakest, because then I cannot define preconditions for derived classes (because they would be stronger, than in a base class).
But how can I define strong preconditions for abstract base class?...
Pre-Post conditions for Base class should not be week at all. In case if we have already defined Pre-conditions for Base class function, then when it gets overidden in it's derived class, then we should go for Week Pre-conditions here in Derived class function.
We cannot define Pre and Post conditions for ABC!!
Hope all the questions are answered!!