Vis*_*air 1 c++ polymorphism inheritance downcast
我在采访中被问到这个问题,我不确定以下情况下的行为:
class A
{
virtual fun1(){...}
virtual fun2(){...}
};
class B : public A
{
virtual fun1(){...}
virtual fun2(){...}
};
Run Code Online (Sandbox Code Playgroud)
现在如果,
A* AObj = new A;
B* BObj = (B*) AObj;
Run Code Online (Sandbox Code Playgroud)
是否BObj因为 virtual 关键字而可以访问 B 的方法,或者是否因为它指向 的对象而不能访问AObj?
有人可以帮助我了解向下转型到底如何影响访问吗?
| 归档时间: |
|
| 查看次数: |
1018 次 |
| 最近记录: |