Anulación y Sobrecarga de métodos (Overriding and overloading method)
Anulación de método (Overriding method)
Anulación de método es simplemente reemplazar un método pariente de una clase base por una nueva en la clase descendiente.
#include <iostream>
using namespace std;
class Pops {
public:
void sayHi() {
cout << "Hi, I am pops" << endl;
}
};
class Child: public Pops {
public:
void sayHi() {
cout << "Hi, I am child" << endl;
}
};
int main()
{
Pops pops;
Child child;
pops.sayHi();
child.sayHi();
return 0;
}
//-> Hi, I am pops
//-> Hi, I am child
Sobrecarga de método (Overloading method)
Sobrecarga de método es simplemente definir un mismo método de diferentes formas.
#include <iostream>
using namespace std;
class Calculator {
public:
void printSquare(int i) {
cout << "Interger: " << i << " Square is: " << i*i << endl;
}
void printSquare(char c) {
cout << c << " is a character, no square for it." << endl;
}
void printSquare(float f) {
cout << "Float: " << f << " Square is: " << f*f << endl;
}
void printSquare(double d) {
cout << "Double float: " << d << " Square is: " << d*d << endl;
}
};
int main()
{
Calculator casio;
casio.printSquare(2);
casio.printSquare('Y');
return 0;
}
//-> Interger: 2 Square is: 4
//-> Y is a character, no square for it.