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

 

 


Tema destacado: Arreglado, de nuevo, el registro del warzone (wargame) de EHN


  Mostrar Mensajes
Páginas: 1 2 3 4 5 6 7 8 9 [10] 11 12 13 14 15 16 17 18 19 20
91  Programación / Programación General / Re: Patron MVC duda de implementación... en: 18 Mayo 2019, 01:17 am
Entiendo, gracias por las explicaciones...

Por ejemplo, hoy mismo me he encontrado con un caso particular, el rellenado de una tabla con datos de la base de datos..

la tabla es pertenece a una interfaz gráfica (V)
los datos se extraen de una ejecución de SQL.. (M)

Tengo la siguiente función:

Código
  1. int UnaClase::rellenarTabla() {
  2.  
  3.     //Conectar con base de datos
  4.     //ejecutar consulta SQL
  5.     //obtener datos y meterlos a la tabla (V)
  6.  
  7. }
  8.  

Como verán, aqui se mezcla los datos con la visual...
En que namespace o capa debe quedar esta función?

O quizá esté mal empleada la función...
Que tipo de datos se comparten entre capas?.. solo primitivos?, mi duda es esta ya que no me parece muy lógico dividir en capas y compartir tipos específicos de cada capa una con otra..

Disculpen tantas preguntas..

Gracias, saludos!11
92  Programación / Programación C/C++ / Re: Sobrecarga de operador en: 17 Mayo 2019, 04:20 am
Rayos cósmicos... he intentado sobrecargar al menos el operador < .. pero algo no anda bien..  esta vez compila, pero no se comporta como esperaba

Código
  1.  
  2. #include "pch.h"
  3. #include <iostream>
  4. #include <set>
  5.  
  6. class Usuario {
  7.  
  8. char * nombre = nullptr;
  9.  
  10.  
  11. public:
  12. Usuario() : nombre(new char[16]) {}
  13. ~Usuario();
  14.  
  15. void SetNombre(const char * _nombre);
  16.  
  17.  
  18. char * GetNombre() const {
  19. return this->nombre;
  20. }
  21.  
  22. friend bool operator<(const Usuario & _thisUser, const Usuario & _otherUser);
  23.  
  24.  
  25. };
  26.  
  27. Usuario::~Usuario() {
  28. delete[] nombre;
  29. }
  30.  
  31. void Usuario::SetNombre(const char * _nombre) {
  32. strcpy(this->nombre, _nombre);
  33. }
  34.  
  35. bool operator<(const Usuario & _thisUser, const Usuario & _otherUser) {
  36.  
  37. for (int l = 0; l < 16; l++) {
  38. if (_thisUser.nombre[l] < _otherUser.nombre[l]) {
  39. return true;
  40. }
  41. else {
  42.  
  43. if (_thisUser.nombre[l] == _otherUser.nombre[l])
  44. continue;
  45.  
  46. else
  47. return false;
  48.  
  49. }
  50. }
  51.  
  52.  
  53. }
  54.  
  55.  
  56.  
  57. std::set<Usuario> usuarios;
  58.  
  59. int main(){
  60.  
  61. char * _nombre = new char[16];
  62.  
  63. for (int x = 0; x <= 3; x++) {
  64.  
  65. system("cls");
  66.  
  67. std::cout << "Ingrese nombre: ";
  68. std::cin >> _nombre;
  69.  
  70. std::cout << std::endl;
  71.  
  72. Usuario usuario;
  73. usuario.SetNombre(_nombre);
  74.  
  75. usuarios.insert(usuario);   //ciclo 0 lo realiza bien
  76.                                                      //al intentar guardar en el ciclo 1 se congela
  77.  
  78. }
  79.  
  80. delete[] _nombre;
  81. _nombre = nullptr;
  82.  
  83. return 0;
  84.  
  85. }
  86.  

He optado por set<> porque deseo ingresar usuarios y no deben repetirse...
Estoy casi seguro que no he sobrecargado correctamente el operador..
93  Programación / Programación C/C++ / Re: Sobrecarga de operador en: 16 Mayo 2019, 18:15 pm
Gracias por las respuestas...

Muy bien, creo que tomare todas las opciones, tanto para comparar como para imprimir la clase y determinar el orden...

< , << y ==

Y gracias también por los enlaces..
94  Programación / Programación C/C++ / Sobrecarga de operador en: 15 Mayo 2019, 15:54 pm
Hola amigos..

Estoy experimentando con el contenedor set y tengo duda con el operador de sobrecarga que se necesita para meter al contenedor un tipo creado por mi mismo...

Según estuve leyendo y alguien me dijo también que necesito sobrecargar el operador <

Pero este operador menor que, en que forma hace la comparación de elementos?, el contenedor set no permite objetos duplicados, no seria mas lógico sobrecargar == en vez de < para comparar si el elemento ya existe?


95  Programación / Programación General / Patron MVC duda de implementación... en: 14 Mayo 2019, 01:41 am
Hola..

Tengo una duda con el patron de diseño MVC:

Entiendo que todo lo que se refiere a la visual esta en V (View)
Y todo lo que corresponda a la lógica está en C (Controller)
Lo que pertenece a base de datos en M (Model)

Pero no me imagino como pueda organizarse todo esto, aun no entiendo como se separa.. por ejemplo, un botón es una mezcla de V y C, porque no solo es algo visual sino que ejecuta una función, es decir es programación y visual... a menos que la programación de los botones no entre en la capa de Controller...  si es así, qué entra en esta capa?..

Saludos y gracias.
96  Programación / Programación C/C++ / Re: Operador de seleccion -> en variable no puntero.. en: 13 Mayo 2019, 21:09 pm
Si, lo tenia claro, mi duda estaba con el tipo auto..

Gracias.. saludos!
97  Programación / Programación C/C++ / Re: Operador de seleccion -> en variable no puntero.. en: 13 Mayo 2019, 15:37 pm
Si, justamente así lo entendí luego.. Y lo acabas de confirmar.

Y gracias por el dato del patrón singleton, debo echarle una mirada..
Saludos
98  Programación / Programación C/C++ / Re: Operador de seleccion -> en variable no puntero.. en: 13 Mayo 2019, 05:27 am
Decía que no era puntero porque no lleva el asterisco

Tiene algo que ver la palabra auto?
99  Programación / Programación C/C++ / Re: Operador de seleccion -> en variable no puntero.. en: 13 Mayo 2019, 04:50 am
Corrijanne si estoy mal por favor, me parece que la palabra auto lo que hace es autodetectar el tipo devuelto, en este caso Director::getIntance() esta devolviendo un puntero de algún tipo... Y auto se transforma en ese puntero devuelto..

Sera asi?
100  Programación / Programación C/C++ / Operador de seleccion -> en variable no puntero.. en: 13 Mayo 2019, 04:33 am
Hola

Me he topado con algo que no había visto antes.. es lo siguiente;

Código
  1. auto director = Director::getInstance();
  2. auto glview = director->getOpenGLView();
  3.  

director no es puntero, porque entonces utiliza el operador -> ?

Gracias
Saludos
Páginas: 1 2 3 4 5 6 7 8 9 [10] 11 12 13 14 15 16 17 18 19 20
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines