阅读量:2
在C++中,如果一个派生类(子类)从基类(父类)继承,并且两个类都有一个同名的成员函数,那么在访问这个同名函数时,派生类中的函数会覆盖基类中的函数。这种行为称为函数重写(Function Overriding)。
当你在派生类中使用基类的成员函数时,编译器会根据对象的实际类型来选择正确的函数。如果对象是基类的实例,那么将调用基类的函数;如果对象是派生类的实例,那么将调用派生类的函数。
下面是一个简单的例子:
#include
class Base {
public:
void print() {
std::cout << "Base class function" << std::endl;
}
};
class Derived : public Base {
public:
void print() override { // 使用override关键字明确表示重写
std::cout << "Derived class function" << std::endl;
}
};
int main() {
Base *b = new Base();
Derived *d = new Derived();
b->print(); // 输出 "Base class function"
d->print(); // 输出 "Derived class function"
delete b;
delete d;
return 0;
}
在这个例子中,Derived类重写了Base类的print()函数。当我们通过基类指针调用print()函数时,输出的是基类的函数;而当我们通过派生类指针调用print()函数时,输出的是派生类的函数。
以上就是关于“C++继承机制怎样处理同名函数”的相关介绍,筋斗云是国内较早的云主机应用的服务商,拥有10余年行业经验,提供丰富的云服务器、租用服务器等相关产品服务。云服务器资源弹性伸缩,主机vCPU、内存性能强悍、超高I/O速度、故障秒级恢复;电子化备案,提交快速,专业团队7×24小时服务支持!
简单好用、高性价比云服务器租用链接:https://www.jindouyun.cn/product/cvm