1. 经由一组隐式的转换操作
例如把一个derived class 指针转化为一个指向其public base type的指针:
Shape* ps = new Circle();
2. 经由virtual function机制
ps->rotate();
3. 经由dynamic_cast 和typeid运算符
if (Circle pc = dynamic_cast<Circle>(ps)){
…
}
1. 经由一组隐式的转换操作
例如把一个derived class 指针转化为一个指向其public base type的指针:
Shape* ps = new Circle();
2. 经由virtual function机制
ps->rotate();
3. 经由dynamic_cast 和typeid运算符
if (Circle pc = dynamic_cast<Circle>(ps)){
…
}