c++ - 父类(super class)的指针如何访问子类的变量?

标签 c++ function variables pointers inheritance

我有一个类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/

相关文章:

c++ - 在 double 上的 qt 中使用模数运算符时出错

c++ - 如何在 C++ 中为不同的迭代器 value_types 重载函数

c++ - C/C++ : What is the difference between a statically-linked library and an object file?

c++ - 创建对象 vector 时,不唯一地为每个对象调用默认对象构造函数

mysql - MySQL 中函数的返回值

javascript - 将 'immediately invoking' 函数作为对象属性处理

javascript - 返回带有变量名称的值

无法在 DevC++ 中的语句后声明变量

jquery - 无法将 id 传递给 click 函数

ruby-on-rails - Ruby on Rails - 将变量添加到 params[]