静态多态(编译时多态)样例
时间: 2024-11-28 07:22:02 浏览: 7
C++编译期多态与运行期多态
静态多态也称为编译时多态,通常体现在函数重载(Overload)上。函数重载是指在一个类中声明两个或多个同名的不同函数,它们的返回类型可以相同也可以不同,但参数列表必须不同,比如参数个数、类型或顺序不同。编译器会在编译阶段根据传入的实际参数类型确定调用哪个函数,这就是静态绑定。
例如,在C++中:
```cpp
class MathOps {
public:
int add(int a, int b) { return a + b; } // 第一个add函数
double add(double a, double b) { return a + b; } // 第二个add函数
};
int main() {
MathOps obj;
int sum1 = obj.add(5, 7); // 调用int版本的add,因为参数是整型
double sum2 = obj.add(3.5, 4.2); // 调用double版本的add,因为参数是浮点型
return 0;
}
```
在这个例子中,虽然函数名字都是`add`,但是根据传入参数的类型,编译器会自动选择相应的函数实现,这是在编译阶段完成的绑定过程。
阅读全文