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!!
thanks.