Скажем, у меня есть эти классы:
class Base
{
public:
class Foo { ... };
...
};
Затем из базы получается следующий класс:
class Derived : public Base
{
// no mention or redefinition of nested class "Foo" anywhere in "Derived"
};
Означает ли это, что теперь у нас есть отдельный Derived::Foo
, или Derived::Foo
точный, как Base::Foo
?
Вот пример этого сценария: что, если кто-то выбрал экземпляр Derived::Foo
? Будет ли это обнаружено в этом сценарии:
catch ( const Base::Foo &ex )
{
// would this also catch an instance of Derived::Foo?
}