Test Foro de elhacker.net SMF 2.1

Programación => Programación C/C++ => Mensaje iniciado por: JonaLamper en 18 Agosto 2016, 14:43 PM

Título: Duda en declaración de funciones (C++)
Publicado por: JonaLamper en 18 Agosto 2016, 14:43 PM
Buenas,

Código (cpp) [Seleccionar]
bool esVacia() const;

¿Qué quiere decir exactamente el const, que es una función que no puede ser modificada?

Gracias.
Título: Re: Duda en declaración de funciones (C++)
Publicado por: HIDE_95 en 18 Agosto 2016, 15:51 PM
Buenas Jona . Se usa el const por que es un metodo que no modifica ningun atributo y por que un metodo que no se declara como constante se trata como uno que puede modificar los atributos del objeto , y el compilador no dejara que un objeto constate lo utilice.
Título: Re: Duda en declaración de funciones (C++)
Publicado por: JonaLamper en 18 Agosto 2016, 18:13 PM
Aprovecho para poner otra cosa que tampoco sé qué significa, ¿es como una doble declaración de función?

Código (cpp) [Seleccionar]
PajarosEnVuelos(int lider): Lider(lider) {};

¡Gracias!
Título: Re: Duda en declaración de funciones (C++)
Publicado por: ivancea96 en 18 Agosto 2016, 22:13 PM
Eso es algo que puedes poner en los constructores. Lo que vaya después de ':', son llamadas a los constructores de laa clases base y de los campos del objeto. Por ejemplo:

Código (cpp) [Seleccionar]
class A{
    string str;

    A(string t) : str(t){}
};