Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: Kaxperday en 6 Octubre 2015, 12:47 pm



Título: ¿Tiene C++ algo parecido al this. de java?
Publicado por: Kaxperday en 6 Octubre 2015, 12:47 pm
Para cuando se de el caso de que un parametro de una función se llame igual que una variable declarada en la función, y no tener que renombrar una de ellas, me vendría bien un this de los de java.

A ver si encuentro algo mientras.

Saludos.

http://stackoverflow.com/questions/6905598/c-equivalent-to-java-this

Código
  1. void envenenamiento_activo(lista_victimas *lista)
  2. {
  3. lista_victimas *lista;
  4. this->lista = lista;

Citar
Error: this solo se puede usar en una función miembro no estática.

Si no se puede hacer con una clase static, es como si no se puede hacer para mi código.


Título: Re: ¿Tiene C++ algo parecido al this. de java?
Publicado por: avesudra en 6 Octubre 2015, 13:34 pm
Es que en teoría ese this debería servirte, a mí por lo menos en este código de ejemplo me funciona:

Código
  1. #include <iostream>
  2.  
  3. using namespace std;
  4.  
  5. class foo
  6. {
  7. public:
  8.    void setX(int x)
  9.    {
  10.        this->x = x;
  11.    }
  12. private:
  13.    int x;
  14. };
  15.  
  16. int main(int argc, char **argv)
  17. {
  18.    return 0;
  19. }

Ahora bien, es que no sé donde tienes colocado ese método en concreto.

Un saludo.


Título: Re: ¿Tiene C++ algo parecido al this. de java?
Publicado por: ivancea96 en 6 Octubre 2015, 19:31 pm
This obtiene el puntero al objeto de la clase en cuyo ámbito lo colocas.
Si el miembro es static, no hay objeto.