правила видимости наследования классов C++ важны, если классы наследуются несколько раз, верно?
Код: Выделить всё
class Base {
public :
int a;
protected :
int b;
private :
int c;
};
class Layer_1 : private Base { /* everything from ´Base´ is now */
int z{Base::a}; /* considered a private of ´Layer_1´ */
int r{Base::b}; /* but accessible here */
};
class Layer_2 : Layer_1 { /* Nothing in ´Layer_1´ is accessible from */
int y{Layer_1::a}; /* ´Layer_2´,as ´Layer_1´ inherited everything */
}; // invalid ~~~~^ /* from ´Base´ into their private scope */
< /code>
[list]
[*] У них есть какие -либо другие цели?
[/list]
Я надеюсь, что это не дубликат. Я посмотрел, но не было никаких сомнений, что ответил на эту конкретную часть для меня. Чтобы использовать различные ключевые слова.
Подробнее здесь: https://stackoverflow.com/questions/793 ... nd-private