class B :(public || protected || private)A {...};
B继承A,如果是:
public继承,则A的public成员可以由任何函数调用;A的protected成员可以由B的成员函数和友元,以及B派生出的类的成员函数和友元调用;任何函数都能将B*转为A*;
protected继承,则A的public成员和protected成员可以由B的成员函数和友元,以及B派生出的类的成员函数和友元调用;只有B的成员函数和友元,以及B派生出的类的成员函数和友元能将B*转为A*;
private继承,则A的public成员和protected成员只可以由B的成员函数和友元调用;只有B的成员函数和友元能将B*转为A*;