Dev - C++ - como diferenciar variables

 
Vista:
Imágen de perfil de felipe
Val: 141
Ha mantenido su posición en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

como diferenciar variables

Publicado por felipe (74 intervenciones) el 17/10/2020 08:57:07
¿Cómo diferenciar una variable perteneciente a una clase , de un parámetro, si ambos poseen el mismo nombre?

1
2
3
4
5
6
7
8
9
struct Example{
    int a;
    void set(int a);
};
 
void Example::set(int a){
    ???
    a = a; ????
}

Gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Alfil
Val: 4.344
Oro
Ha mantenido su posición en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

como diferenciar variables

Publicado por Alfil (1444 intervenciones) el 17/10/2020 11:51:13
La variable a de la función set oculta la variable a de Example, para acceder a esa variable desde la función set debemos utilizar el símbolo de resolución de alcance (::)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#include <iostream>
 
struct Example
{
    int a;
    void set(int a);
};
 
 
void Example::set(int a)
{
    a += Example::a + 10;
 
    std::cout << "\na: " << a << " Example::a: " << Example::a << std::endl;
}
 
int main()
{
    Example e;
 
    e.a = 10;
 
    e.set(e.a);
 
    return 0;
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Rodrigo
Val: 1.755
Plata
Ha mantenido su posición en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

como diferenciar variables

Publicado por Rodrigo (539 intervenciones) el 17/10/2020 17:05:01
Altenativa:

1
this->a
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar