На этот вопрос нельзя ответить достоверно, не зная, какой тип наследования имеется в виду, когда вы говорите, что класс «B» является потомком «A» и где осуществляется доступ. Другими словами, не зная, является ли база доступной и однозначной, невозможно правильно ответить на этот вопрос.
$ 11.2 / 4 - «Базовый класс считается доступным, если доступен изобретенный открытый член базового класса.»
Предполагая, что «A» является однозначной и доступной базой «B», а «B» является однозначной и доступной базой «C», а «A», «B» и «C» являются конкретными классами ( нет чисто виртуальной функции)
B b;
C c;
A &rb = b; // OK
A &rc = c; // OK
A *pb = &b; // OK
A *pc = &c; // OK
A a1 = b; // sliced, only 'A' subobject of 'B' is copied onto 'a1', may be a logical error
A a2 = c; // sliced, only 'A' subobject of 'C' is copied onto 'a2', may be a logical error