gpt4 book ai didi

c++ - 返回对 "this"的取消引用的覆盖方法

转载 作者:行者123 更新时间:2023-11-27 22:54:00 26 4
gpt4 key购买 nike

我在 Base 类中有一个方法,它返回对 this 的取消引用。我想在 Derived 类中使用此方法,但也想对其进行一些扩展。这个例子不言自明:

#include <iostream>

class Base {
private:
int value = 0;

public:
int getValue() { return value; }
virtual Base& increase() {
value++;
return *this;
}
};

class Derived : public Base {
public:
Derived& increase() {
Base::increase();
if (getValue() == 1) std::cout << "Success" << std::endl;

return *this;
}
};

据我了解,在上面的实现中,Base::increase(); 只会在临时分配的 Base 中增加一些 value目的。我该如何解决?

最佳答案

Base::increase();this 上调用基本方法(不涉及临时对象)。

如果你更清楚的话,你甚至可以这样写

this->Base::increase();

关于c++ - 返回对 "this"的取消引用的覆盖方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34895373/

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