返回对"this"的取消引用的重写方法
Override method which returns dereference to "this"
我在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();
相关文章:
- 如何强制从重写方法调用重写的方法基方法?
- 具有引用返回类型的重写方法上的协变返回类型无效
- 调用不是来自直系父亲的重写方法
- Qt/C++ - 从派生类调用重写方法
- 重写方法优先 C++
- 为什么重写方法并将 const 添加到参数类型有效
- 如何在向量上调用不同的重写方法
- 处理C++中基类的重写方法的异常
- C重写C++方法
- 如何自动更新重写方法的 *this 返回类型
- 在 c++ 中具有不同返回类型的重写方法
- 未调用继承的重写方法
- 只有当类重写方法时,在动态加载的共享库中实例化的类才会丢失XCode 4.3/4.4 typeinfo
- 在构造函数中使用重写方法的替代方法,Java
- 使用父类型时重写C++方法
- 多个线程中的重写方法
- 关于在强制转换为子类的超类时调用其重写方法
- 如何在所有派生类中调用重写方法
- 返回对"this"的取消引用的重写方法
- C++-从方法基类调用派生类中的重写方法