C++ 重载和重写的实现
时间: 2024-09-28 16:12:14 浏览: 13
在C++中,函数重载(Function Overload)和成员函数重写(Method Override)是两个关键的概念:
**函数重载**(Function Overloading)是指在同一个作用域内定义两个或多个同名函数,它们的参数列表(包括参数的类型、顺序和个数)不同。编译器会根据函数调用时提供的实参类型和数量来确定调用哪个函数。例如:
```cpp
void print(int x) { /* 打印整数 */ }
void print(double y) { /* 打印双精度浮点数 */ }
int main() {
print(5); // 调用print(int)
print(3.14); // 调用print(double)
}
```
**成员函数重写**(Method Override),又称为虚函数(Virtual Function),通常发生在面向对象编程中,特别是继承(Inheritance)的情境下。当基类声明了一个虚函数,并在派生类中提供了自己的实现,那么通过基类指针或引用调用这个函数时,将调用实际的对象类型定义的那个版本。在C++中,使用`virtual`关键字来声明虚函数,例如:
```cpp
class Base {
public:
virtual void display() { /* 默认显示 */ }
};
class Derived : public Base {
public:
void display() override { /* 子类特定的显示 */ }
};
Base* baseObj = new Derived();
baseObj->display(); // 调用Derived类的display()
```