Foro de elhacker.net

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
  1. 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
  1. 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
  1. class A{
  2.    string str;
  3.  
  4.    A(string t) : str(t){}
  5. };