我有一个类A和一个类B,它们继承自类A。类B有一个变量和一个函数,在类A中不可用。我做了一个指针
A* ptr=new B();
那么ptr如何访问属于B类的变量和函数呢?
最佳答案
A 类根本无法“看到”B 类的函数。相反,您必须使用类似从 A 到 B 的动态转换之类的东西,检查是否为 null,然后按照您的意愿继续操作。 Here is a nice tutorial to explain this a lot better than I can.每个 Actor 都有自己的优点和缺点;好好学习它们。另外,尽量避免 C 风格的转换。
编辑:看来我误读了这个问题。不过,答案仍然是正确的。 A 类将无法“查看”B 类的变量。转换仍然允许您访问它们。
关于c++ - 父类(super class)的指针如何访问子类的变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34070935/