Duda en declaración de funciones (C++)

Iniciado por JonaLamper, 18 Agosto 2016, 14:43 PM

0 Miembros y 1 Visitante están viendo este tema.

JonaLamper

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.
Utilizar palabras para hablar de palabras es como utilizar un lápiz para hacer un dibujo de ese lápiz sobre el mismo lápiz.

HIDE_95

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.

JonaLamper

#2
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!
Utilizar palabras para hablar de palabras es como utilizar un lápiz para hacer un dibujo de ese lápiz sobre el mismo lápiz.

ivancea96

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