L'overloading delle funzioni può verificarsi tra due funzioni membro che hanno lo stesso numero di parametri, se uno di essi viene dichiarato come const.overloading delle funzioni con parametri const
Ma cosa succede se una funzione ha un argomento const, un'altra ha un argomento non const dello stesso tipo? Funzionerà per riferimenti e puntatori? Se C++ lo fornisce, perché fornisce? Per favore condividi il motivo con me se lo sai.
Di seguito è riportato l'esempio che consente di comprendere lo scenario precedente.
void fun(const int i)
{
cout << "fun(const int) called ";
}
void fun(int i)
{
cout << "fun(int) called " ;
}
int main()
{
const int i = 10;
fun(i);
return 0;
}
uscita: Errore del compilatore: redefinition of 'void fun(int)'
void fun(char *a)
{
cout<<"non-const fun() called";
}
void fun(const char *a)
{
cout<<"const fun() called";
}
int main()
{
const char *ptr = "GeeksforGeeks";
fun(ptr);
return 0;
}
uscita: divertimento const() chiamato
Perché il secondo permesso in C++?
Provare con 'void fun (char * const a)' – PiotrNycz
C'è ancora qualcosa nella mia risposta? Se sì, per favore dimmelo, così posso migliorarlo. :) In caso contrario, posso suggerire di accettarlo? – Xeo