A 
class-or-decltype shall denote
a (possibly cv-qualified) class type that is not
an incompletely defined class (
[class.mem]);
any cv-qualifiers are ignored
.A class 
B is a
base class of a class 
D if it is a direct base class of
D or a direct base class of one of 
D's base classes
.A class is said to be (directly or
indirectly) 
derived from its (direct or indirect) base
classes
.Members of a base class are also members of the derived class
.[
Note 2: 
 Base class members can be referred to in
expressions in the same manner as other members of the derived class,
unless their names are hidden or ambiguous (
[class.member.lookup])
.The scope resolution operator 
:: (
[expr.prim.id.qual]) can be used
to refer to a direct or indirect base member explicitly,
even if it is hidden in the derived class
.A derived class can itself serve as a base class subject to access
control; see 
[class.access.base].A pointer to a derived class can be
implicitly converted to a pointer to an accessible unambiguous base
class (
[conv.ptr])
.An lvalue of a derived class type can be bound
to a reference to an accessible unambiguous base
class (
[dcl.init.ref])
. — 
end note]