重载(Overload)是C++面向对象编程中的一个常见特性,可以定义多个同名函数或方法,通过参数列表区分,来实现多态。
一、函数重载
函数重载指函数名相同,但参数不同的多个函数:
void print(int x) {
// 打印整型
}
void print(double x) {
// 打印浮点型
}
调用时会根据实参自动选择匹配的函数。
二、操作符重载
C++也支持重载运算符,自定义该运算符对类对象的作用方式:
class Complex {
public:
Complex operator+(const Complex& other) {
// 实现复数加法
}
};
Complex c1, c2, c3;
c3 = c1 + c2; // 调用运算符重载
三、常见重载运算符
C++常见的可重载运算符有+ – * / % ! = < > ++ –等。
四、重载方式
运算符重载可以以全局函数或者成员函数实现。
五、重载原则
重载函数应保持与内置运算符一致的行为。
六、重载区分
参数类型、个数和顺序不同可以区分重载。
总结来说,重载是C++面向对象编程中非常常见和重要的一个特性,可以让代码易读和易用。但也需要避免滥用重载带来的复杂度。