Dziedziczona metoda z inyymi argumentami

0

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

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;
}

http://ideone.com/C5fkZB

// edit:
ah.. spóźniłem się xD

1 użytkowników online, w tym zalogowanych: 0, gości: 1