Tworzę klasę,w której mam funkcję dodaj(int wartosc, int wartosc2).
Następnie tworzę klasę, w której dziedziczę po tej pierwszej.
I teraz chciałbym w tej potomnej klasie mieć również metodę dodaj, ale taką,żeby drugi argument posiadał zawsze wartość 0.
Jak można rozwiązać taki problem ?
0
0
Usunąć drugi argument ?
0
Tak, ale wówczas będę musiał zdefiniować tę funkcję na nowo. A chodzi mi o to, żeby wykonywała to samo co w klasie bazowej.
2
O_O
int dodaj(int argument){
return Base::dodaj(argument, 0);
}
?
0
O widzisz. Tego mi było trzeba :)
0
#include <cstdio>
class CBase
{
public:
void dodaj(int value1, int value2);
};
class CChild : public CBase
{
public:
void dodaj(int value1);
};
void CBase::dodaj(int value1, int value2)
{
printf("CBase::dodaj, arguments: %i;%i\n", value1, value2);
}
void CChild::dodaj(int value1)
{
printf("CChild::dodaj, arguments: %i\n", value1);
CBase::dodaj(value1, 0);
}
int main(int, char**)
{
CChild * pChild = new CChild();
pChild->dodaj(1);
delete pChild;
return 0;
}
// edit:
ah.. spóźniłem się xD