在C++中,子类可以直接调用父类的方法,这通常是通过继承关系实现的。当子类继承了父类,子类就获得了父类的所有公有(public)和保护(protected)成员,包括方法和数据成员。
以下是一个简单的例子,演示了如何在C++中子类直接调用父类的方法:
#include <iostream>
#include <string>
// 父类
class Parent {
public:
void sayHello() {
std::cout << "Hello from Parent!" << std::cout;
}
};
// 子类
class Child : public Parent {
public:
void saySomething() {
// 直接调用父类的sayHello方法
sayHello();
std::cout << "I'm a Child class." << std::endl;
}
};
int main() {
Child childObj;
// 通过子类对象调用父类方法
childObj.sayHello();
std::cout << std::endl;
// 通过子类对象调用子类方法,该方法内部又调用了父类方法
childObj.saySomething();
return 0;
}
在这个例子中,Parent 类有一个公有方法 sayHello,它输出一条消息。Child 类继承了 Parent 类,并定义了一个自己的方法 saySomething。在 saySomething 方法内部,我们直接调用了父类的 sayHello 方法。
在 main 函数中,我们创建了一个 Child 类的对象 childObj,然后通过这个对象分别调用了父类的 sayHello 方法和子类的 saySomething 方法。当你运行这个程序时,它会输出以下结果:
Hello from Parent!
Hello from Parent!
I'm a Child class.
这表明子类 Child 可以直接调用父类 Parent 的方法 sayHello。