Fordel ved Polymorphism
Der er muligt at bruge metoder med samme navn i samme klasse, og udelukkende lade parameterne udpege hvilken af funktionerne af samme navn som skal anvendesAltså:
#include <iostream>
using namespace std;
class Sum {
public:
int add(int num1,int num2){
return num1 + num2;
}
int add(int num1, int num2, int num3){
return num1 + num2 + num3;
}
};
int main(void) {
//Object of class Sum
Sum obj;
//This will call the second add function
cout<<obj.add(10, 20, 30)<<endl; //HER ER DER TRE PARAM
//This will call the first add function
cout<<obj.add(11, 22); //HER ER DER TO PARAM
return 0;
}
.. 'fint' så....
Men
Vi kunne jo lige så godt have implenteret som:
#include <iostream>
using namespace std;
class Sum {
public:
int add2(int num1,int num2){ //FUNKTIONEN ANGIVER HVAD DEN KAN
return num1 + num2;
}
int add3(int num1, int num2, int num3){
//FUNKTIONEN ANGIVER HVAD DEN KAN
return num1 + num2 + num3;
}
};
int main(void) {
//Object of class Sum
Sum objAdd;
//This will call the second add function
cout<<objAdd.add3(10, 20, 30)<<endl; //SPECIFIKT KALD
//This will call the first add function
cout<<objAdd.add2(11, 22); //SPECIFIKT KALD
return 0;
}
2. program er langt mere læseværdigt
Hvorfor er polymorphism som i 1. program i det hele taget en 'ting'?