C++`,子類如果將自己的方法override父類的方法,要如何在子類調用父類被override的方法?
时间: 2024-09-07 08:04:57 浏览: 56
C++ 基类指针和子类指针相互赋值的实现方法
在C++中,如果你有一个子类并重写了其父类的方法(也称为方法覆盖或重载),想要在子类内部调用父类的原始版本(即未被重写的方法),你可以通过关键字`this->`来明确指定。例如:
```cpp
class ParentClass {
public:
virtual void parentMethod() {
// 父类的方法实现
std::cout << "Parent method called.\n";
}
};
class ChildClass : public ParentClass {
public:
// 重写了parentMethod
void parentMethod() override {
// 子类的方法实现
std::cout << "Child method overriding parent.\n";
// 要调用父类的原始方法,这里就是:
this->parentMethod(); // 明确指明调用父类的方法
}
};
```
在这个例子中,`ChildClass`的实例可以调用自己的`parentMethod`,但如果需要调用父类的行为,可以直接使用`this->parentMethod()`。
阅读全文