class Grandparent
{
protected:
void DoSomething( int number );
};
class Parent : protected Grandparent
{
};
class Child : Parent
{
void DoSomething()
{
Grandparent::DoSomething( 10 ); //Now it works
Parent::DoSomething( 10 ); // Now it works.
}
};
Как минимум, это должно выглядеть так. При работе с классами вещи по умолчанию являются частными, включая подклассы.
http://codepad.org/xRhc5ig4
Существует полный пример, который компилируется и запускается.