gpt4 book ai didi

c++ - 在 C++ 中调用母类 operator= 的常用方法?

转载 作者:太空狗 更新时间:2023-10-29 23:24:28 24 4
gpt4 key购买 nike

假设我有一个继承自 Animal 类的 Dog 类,你可能想在 Dog::operator= 中插入对 Animal::operator= 的调用。

最可读/最常见的编写方式是什么?

我想我知道那两个...

static_cast<Animal*>(this)->operator=(other);

this->Animal::operator=(other);

最佳答案

因为您是在子类方法中执行此操作

Animal::operator=(other);

不需要 this->。范围解析语法完全符合要求。我看不出用 Actor “间接”做这件事有什么意义。

另请注意,在一般情况下,使用强制转换可能不会产生预期的结果,因为它不会禁用虚拟 方法调用的动态解析。 (顺便说一句,赋值运算符可以声明为虚拟的)。一个明显的结果是,使用虚方法时,“强制转换”变体可能很容易导致无休止的递归。

关于c++ - 在 C++ 中调用母类 operator= 的常用方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1722670/

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