The method is inaccessible since its declared as protected
.
protected : virtual void CalculateValues(int index)=0;
Add it under public :
:
public : Sir();
virtual ~Sir(){}
Uint operator[] (int index);
Sir& operator() (int index);
friend ostream& operator << (ostream &out, const Sir &sir);
virtual void CalculateValues(int index)=0;
And the same for the Fibonacci
class (only the relevant method)
a protected
method is accessible only to the class declaring it or any of it derivatives