elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Guía actualizada para evitar que un ransomware ataque tu empresa


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Cambiar valor de una variable de tipo estructura
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Cambiar valor de una variable de tipo estructura  (Leído 2,122 veces)
4dr14n31t0r

Desconectado Desconectado

Mensajes: 85



Ver Perfil
Cambiar valor de una variable de tipo estructura
« en: 27 Septiembre 2016, 12:42 pm »

Estructura o clase, me da lo mismo.

El problema es si hay alguna forma de hacerlo sin tener que crear una nueva variable.
Por ejemplo:
Código
  1. struct E{
  2.   int x;
  3.   E(int n) : x(n) {};
  4. };
  5. int main(){
  6. E e (43);
  7. //e (21) <- No es valido, tendria que crear una nueva variable.
  8. E e2 (21);
  9. e = e2;
  10. }
¿Alguna idea de como hacer esto sin tener que recurrir a una variable auxiliar?


En línea

do-while


Desconectado Desconectado

Mensajes: 1.276


¿Habra que sacarla de paseo?


Ver Perfil
Re: Cambiar valor de una variable de tipo estructura
« Respuesta #1 en: 27 Septiembre 2016, 12:56 pm »

Sobrecarga el operador de asignación = para poder asignar a la clase (un struct en C++ es una clase con acceso público por defecto) un valor entero. Si mal no recuerdo los compiladores crean por defecto un operador de asignación miembro a miembro, así que otra opción que tienes es hacer unobjeto = constructor(parametros) (nada aconsejable si algún miembro tiene memoria dinámicamente asignada). O crea una función miembro que asigne un valor entero al miembro de la clase que corresponda...


En línea

- Doctor, confundo los números y los colores.
- Vaya marrón.
- ¿Marrón? ¡Por el culo te la hinco!
MAFUS


Desconectado Desconectado

Mensajes: 1.603



Ver Perfil
Re: Cambiar valor de una variable de tipo estructura
« Respuesta #2 en: 27 Septiembre 2016, 12:58 pm »

Código
  1. e.x =  21;

O si e es un puntero

Código
  1. e->x =  21;
En línea

4dr14n31t0r

Desconectado Desconectado

Mensajes: 85



Ver Perfil
Re: Cambiar valor de una variable de tipo estructura
« Respuesta #3 en: 27 Septiembre 2016, 19:52 pm »

Código
  1. e.x =  21;

O si e es un puntero

Código
  1. e->x =  21;

Solo he puesto de ejemplo esa estructura para no poner mas variables dentro de la misma, pero imaginate que tiene 200. No vas a ir de uno en uno asignandolo todo.

De todos modos gracias, pero ya encontre la respuesta investigando:
Código
  1. e = E(21);

Antes creia que la unica manera de usar el constructor era asi:
Código
  1. Estructura e (43);
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
[batch] Cambiar valor a una variable con IF AYUDA! « 1 2 »
Scripting
Delva 12 10,276 Último mensaje 16 Noviembre 2010, 22:35 pm
por xassiz~
Cambiar el Valor de una Variable a una hora concreta
Java
thechacal23 4 3,698 Último mensaje 3 Enero 2012, 03:47 am
por Proteus1989
cambiar valor variable ciclo for duda
Scripting
asdexiva 3 2,633 Último mensaje 7 Febrero 2015, 21:50 pm
por engel lex
¿saber qué tipo de valor tiene la variable con la que estoy trabajando? Ruby
Scripting
Saito_25 3 6,470 Último mensaje 4 Abril 2015, 22:06 pm
por Eleкtro
Cambiar el valor de una variable en un puntero
Programación C/C++
boy-ka 5 8,334 Último mensaje 7 Abril 2015, 10:25 am
por eferion
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines