class Employee
{
private:
char name[40];
public:
void showname();
};
class Singer : public Employee
{
public:
void range();
};
Employee e;
Singer s;
Employee *pe = &s; //允许向上隐式类型转换
Singer *ps = (Singer*) &e; //必须向下显式类型转换
pe->showname() //安全 因singer 是Employee(每个singer都继承姓名).
ps->range() ; //不安全,因Employee 并不是singer .