写一段父类中调用子类方法的代码
时间: 2023-09-22 18:05:58 浏览: 107
### 回答1:
可以使用虚函数来实现父类中调用子类的方法,示例代码如下:
```
#include <iostream>
using namespace std;
class Parent {
public:
virtual void callChild() {
cout << "Parent calling child method." << endl;
childMethod();
}
virtual void childMethod() {
cout << "Parent's default child method." << endl;
}
};
class Child : public Parent {
public:
void childMethod() override {
cout << "Child's method." << endl;
}
};
int main() {
Parent* parent = new Child();
parent->callChild();
delete parent;
return ;
}
```
在这个例子中,父类 Parent 中定义了虚函数 callChild(),其中调用了虚函数 childMethod()。子类 Child 继承了 Parent 并重写了 childMethod(),在调用 callChild() 方法时,实际上调用的是子类 Child 中的 childMethod() 方法,输出了 "Child's method."。
### 回答2:
在Python中,我们可以通过继承来实现父类中调用子类方法的功能。
首先,定义一个父类ParentClass,其中包含一个名为parent_method()的方法:
```python
class ParentClass:
def parent_method(self):
print("这是父类的方法")
```
然后,定义一个子类ChildClass,继承自父类ParentClass,并重写(override)了父类的parent_method()方法,并添加一个名为child_method()的子类方法:
```python
class ChildClass(ParentClass):
def parent_method(self):
print("这是子类重写的父类方法")
def child_method(self):
print("这是子类自己的方法")
```
接下来,我们创建一个父类实例和一个子类实例,并调用它们的方法:
```python
parent = ParentClass()
child = ChildClass()
parent.parent_method() # 输出:这是父类的方法
child.parent_method() # 输出:这是子类重写的父类方法
child.child_method() # 输出:这是子类自己的方法
```
通过使用继承,我们在父类中调用了子类重写的方法,并且还可以直接调用子类自己的方法。这是面向对象编程的一种常见用法,通过继承可以实现代码的重用和扩展。
阅读全文