Actually, this isn't a question of inheritance, merely of scope. If you want to explicitly call Array's Set method, you simply define the call with the proper specifier:
void Class_name::Set(int in)
{
// Store it to the Array...
Array<other_class>::Set(in);
}
If you don't include the Array<other_class>:: specifier, the compiler wouldn't know any better, and would end up calling Class_name::Set. This would, of course, crash your stack soon enough. You'll find yourself doing this sort of thing a lot in C++, primarily in virtual functions that override the same function in the base class. If it's required to call the base class, then you have to explicitly define the base class specifier to force a call to the function in the base class. Hope it helps! Bob Ciora