这是我的第三篇文章 若有错误,欢迎指出
最近在上c++课程,在类的方法里遇到了多态问题,关于子类对象到底能调用哪些函数。
先给结论: 如果不用强制类型转换只能用父类里存在的方法 子类重载则执行子类重载过的函数内容
如果用强制类型转换才能用子类里所有的方法
实验代码:
源文件:
运行结果:
我们可以上图看出 只能应用father类里面的方法,其他方法都不能用。
所以可以得出第一个结论: 使用多态创建对象只能应用类的方法 在子类重载过的调用子类的方法
但是当使用强制转换类型之后呢?
代码:
main代码:
结论2:使用强制转换后就能调用改子类所有的方法了
这就是目前遇到多态的两种用法了,欢迎大家指错,补充,提问!