¿Se pueden sobrecargar funciones privadas y funciones públicas? ¿Cómo definirlas por separado fuera de la clase?
Las funciones privadas y las funciones públicas se definen de la misma manera fuera de la clase, ambas:
Nombre de clase de tipo de retorno::nombre de función (lista de parámetros).
Aquí hay un ejemplo:
# include & ltiostream & gt
Usando el espacio de nombres std
Clase C
{
Público:
int add(int a, int b, int c);
float add(punto flotante a, punto flotante b);
void sub();
Privado:
int sub(int a, int b, int c);
Conector flotante (flotante a, flotante b);
};
int C::add(int a, int b, int C)
{ p); >
Devolver a+b+c;
}
Coma flotante C::add(coma flotante a, coma flotante b)
{
Devuelve a+b;
}
void C::sub()
{
cout & lt& lt" 10-1-2 = " & lt;& ltsub(10, 1, 2)& lt; & ltendl
cout & lt& lt" 2.68-1.12 = " & lt;& ltsub ( 2.68, 1.12)<<endl
}
int C::sub(int a, int b, int C)
{ p>
Regresar a-b-c;
}
Punto flotante C::sub(punto flotante a, punto flotante b)
{
Devuelve a-b;
}
int main()
{
c o;
cout & lt& lt " 1+2+3 = " & lt;& lto.add(1, 2, 3)& lt; & ltendl
cout & lt& lt" 2.68+1.12 = " & lt; add(2.68, 1.12)& lt; & ltendl
o sub();
Return 0; los resultados son los siguientes:
1+2+3=6
2.68+1.12=3.8
10-1-2=7
2.68-1.12=1.56