小编Kam*_*ian的帖子

在oops中向下倾倒

class Parent
{};
class A_child : public Parent
{
  void A_method();
};
class B_child : public Parent
{
  void B_method();
};
void main()
{
  A_child a;
  Parent *p = &a;
  B_child *b = (B_child*)&p;
  b->B_method();
}
Run Code Online (Sandbox Code Playgroud)

这段代码是用C++编写的.这是一个逻辑错误,因为我们试图将"猫"变成"狗".但它的确有效.谁能解释为什么以及如何解释?

c++ oop downcast

0
推荐指数
1
解决办法
62
查看次数

标签 统计

c++ ×1

downcast ×1

oop ×1