Пример перегрузки методов
Также как и функции, методы классов можно перегружать. В этом случае создается несколько вариантов одного и того же метода, но с разными прототипами. Отличие может быть связано с разными типами возвращаемых результатов или с разным типом и количеством аргументов. Формально различные варианты перегруженного метода могут быть, с точки зрения их функциональности, абсолютно разными. Но хорошим стилем считается, если разные варианты перегруженного метода объединены общей идеей. Такой подход позволяет использовать единый интерфейс и при этом учесть особенности вызова соответствующего метода с разным набором аргуменов. Напомним, что данная концепция получила название полиморфизма, одного из трех фундаментальных механизмов, на которых базируется объектно-ориентированное программирование. Пример перегрузки методов класса приведен в следующем коде.
#includeusing namespace std; class MyClass{ int a,b; public: //Перегруженный метод: void setab(int i,int j){ a=i; b=j; } void setab(int i){ a=i; b=i; } void getab(){ cout << "a = " << a << endl; cout << "b = " << b << endl; } }obj1,obj2; int main(){ obj1.setab(1,2); obj2.setab(3); obj1.getab(); obj2.getab(); return 0; }