Salve,

mettiamo che ho un metodo di una classe che può essere chiamato con o senza parametri:

codice:
classe marameo {
public:
	marameo();
	void print(void);
	void print(std::string);
private:
	std::string szStringa;
}

void marameo::print(void)
{
	szStringa = "stringa di default";
	printf("%s\n", szStringa);
}

void marameo::print(std::string a)
{
	szStringa = a;
	printf("%s\n", szStringa);
}
in questo caso devo scrivere due funzioni distinte per lo stesso metodo usando l'overloading: una che accetta parametri, l'altra no.

Tuttavia le funzioni però fanno la stessa cosa, essendo dello stesso metodo. Ma mi tocca scriverle separate! quindi duplico il codice. Quello che vorrei fare io è che se il metodo è chiamato con dei parametri usi quelli, altrimenti usi dei parametri di default...

ci posso stare a fare due costruttori separati in fondo il codice è poco (solo inizilizzare variabili), ma due funzioni per lo stesso metodo dovrei duplicare il codice e mi risulterebbe moolto inconveniente...spero che C++ offra una soluzione a questo.

grazie