演艺圈悲惨事件17,百万高清摄像机,苏州力源液压
1.派生类作为实参赋给父类形参
一般的父类只继承子类中共同的部分,子类的新方法会被自动忽略而父类也就无法调用子类的新方法了。
问题:用父类的形参来访问子类的新方法。
强制类型转换(这个可能会有风险,但是编译器不报错)
class animal{
public:
void live(){
cout<<" living "<<endl;
}
};
class dog : public animal{
public:
void jump(){
cout<<" jump "<<endl;
}
};
animal * b = new dog;
((animal* )b) -> jump(); //ok, 强制转化
如果父类指针指向子类对象,需要把父类的指针转化为指向子类对象的指针,来访问子类扩展成员这就是所谓的向下转。
但是,向下转型是危险的,因为父类指针有可能没有指向子类对象。//这样试过,编译器是不报错的,但是按道理是不好这样强转了。
//dog没有继承animal
这样测试下来就是不报错。
如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复
如何在没有core文件的情况下用dmesg+addr2line定位段错误
用QT制作3D点云显示器——QtDataVisualization
网友评论