class base {
protected:
int x;
};
class derived : base {
protected:
int y;
public:
base::x; // !!!
};
derived ZZ;
void dummy()
{
int n;
n = ZZ.x; // так можно обращаться
// n = ZZ.y; // а так нельзя
}
Если бы x был объявлен как public, то должно компилироваться наверняка.
Разрешает ли стандарт языка поднимать класс доступа с protected до public - не знаю, но в VC++ 5.0 это проходит.
Народ! А никто не подскажет как в наследнике класса функцию, которая была в protected секции вытащить в Public секцию ? (С++Builder) Я понимаю что можно просто объявить такуюже функцию в Public наследникa и из нее дернуть старую функцию родителя - но не криво ли это ? Заранее спасибо за ответ !
В VC++ 5.0 можно04.07.01 17:12 Автор: ukv Статус: Незарегистрированный пользователь
class base {
protected:
int x;
};
class derived : base {
protected:
int y;
public:
base::x; // !!!
};
derived ZZ;
void dummy()
{
int n;
n = ZZ.x; // так можно обращаться
// n = ZZ.y; // а так нельзя
}
Если бы x был объявлен как public, то должно компилироваться наверняка.
Разрешает ли стандарт языка поднимать класс доступа с protected до public - не знаю, но в VC++ 5.0 это проходит.