19.3
a.可以
b.将会报错,C为B的派生类,不能进行基类到派生类的转换
c.可以
19.4
try{
C& m = dynamic_cast<C&>(*pa);
//使用C的成员
}catch(bad_cast& bc){
//使用A的成员
}
19.5
无法为基类增加虚函数时,可以用dynamic_cast
19.6
Query_base * qb = new AndQuery(Query("l"), Query("r"));
if(typeid(qb) == typeid(Query_base*)){
cout << "change ok" << endl;
}else{
cout << "change error" << endl;
}
19.7
Query_base& qb = dynamic_cast<Query_base&>(aq);
19.8
if(typeid(p_0)== typeid(p_1)){
}
if (typeid(p_0) == typeid(AndQuery*)) {
}