gpt4 book ai didi

c++ - 如何使用基类指针引用派生类成员?

转载 作者:行者123 更新时间:2023-11-28 01:27:39 24 4
gpt4 key购买 nike

class a{};
class b : public class a{
public:
int c;
};
a* var = new b;
var->c=2;

最后一行不正确。是否可以引用派生类成员?

最佳答案

虽然 var 在编译时是一个 b 对象,但编译器不知道这一点,因此您必须将它转换为 b 对象或像这样的指针。

(*(b*)var).c = 2;
((b*)var)->c = 2;

我的计算机科学老师解释说,在进行多态性运行时和编译时要处理两种情况

希望这对您有所帮助。

关于c++ - 如何使用基类指针引用派生类成员?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53094195/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com