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

 

 


Tema destacado: Security Series.XSS. [Cross Site Scripting]


  Mostrar Mensajes
Páginas: 1 2 3 4 5 [6] 7 8 9 10 11 12 13 14 15 16 17 18 19 20
51  Programación / Programación C/C++ / enums heredados ? en: 5 Octubre 2019, 04:44 am
Buenas noches:

De la misma forma que se puede virtualizar una función y sobreemontarla en alguna clase hija... me pregunto si es posible hacer lo mismo con los enums....

por ejemplo:

Código:
class padre{

protected:
     virtual enum mis_objetos{    //virtual aqui?
          objPrincipal = 99
     };

     virtual void una_funcion(mis_objetos mo){
          //hacer algunas cosas previas que sirven para todas las subclases//
     }

}

Código:
class hija1 : public padre{

protected:
     enum mis_objetos override{
          obj0 = 0,
          obj1
     };

     void una_funcion(ms_objetos mo) override;
}


Código:
class hija2 : public padre{

protected:
     enum mis_objetos override{
          obj50 = 3,
          obj55
     };

     void una_funcion(ms_objetos mo) override;
}

Como verán, cada clase tiene sus propios elementos enum, sin embargo, para que la función una_funcion(mis_objetos) pueda sobremontarse, es necesario que el enum exista en el padre..

Es posible hacer esto? (con el codigo estoy especulando, lo mas seguro que tenga errores)

Gracias.
52  Programación / Programación C/C++ / Re: Variables estaticas... en: 2 Septiembre 2019, 01:14 am
Muy bien ya me ha quedando claro...
 :o

Gracias..
53  Programación / Programación C/C++ / Re: Variables estaticas... en: 31 Agosto 2019, 23:07 pm
ok, entiendo, pero yo tenía entendido que cuando tu definías algo, estas usando el constructor... o es que extern es la excepción?

Alpha.h
Código
  1. class Alpha{
  2.     int x;
  3. public:
  4.     Alpha() : x{5}{}
  5.     //hacer otras cosas
  6. }
  7.  

main.cpp
Código
  1. #include "Alpha.h"
  2.  
  3. int main (){
  4.     Alpha a;            //Nota (a)
  5. }
  6.  

Nota (a) : A pesar de estar declarando un objeto llamado a de tipo Alpha se estaría inicializando el campo privado x y valdría 5... (es asi como yo tengo en mi programa el objeto Sesion inicializa sus campos privados a un string "NA".

Sin embargo, acabo de darme cuenta que incializar y definir no son la misma cosa...


54  Programación / Programación C/C++ / Re: Variables estaticas... en: 30 Agosto 2019, 17:22 pm
De acuerdo, me parece lógico...

Bueno, en este caso he querido usar un int como ejemplo para describir mi duda, en el programa que estoy intentando hacer, lo que quiero usar como variable global es un tipo propio que se inicializa con un constructor.  En el constructor de ese tipo propio (que se llama Sesion) se inicializan los campos privados, por lo que ...

Código
  1. extern Sesion s;
  2.  

...estaría inicializando dichos campos automáticamente, aún asi debo volver a definir tal como lo hiciste cuando escribiste esta linea ? :

Código
  1. int x::num = 10; // definida aquí o en cualquier otro cpp
  2.  

O es que al escribir extern Sesion s en realidad no estoy ejecutando el constructor con su inicialización?

Saludos! y gracias por las respuestas... han sido de mucha ayuda @std::string Manolo y @Loretz.
55  Programación / Programación C/C++ / Re: Variables estaticas... en: 29 Agosto 2019, 22:16 pm
La cita 2 está relacionada con la 3... es que no me supe explicar correctamente...lo siento  :rolleyes:

Entonces la solución que tengo es lo que planteaba Manolo std::string con la palabra extern de lo contrario sería usar objetos persistentes pero no creo que esto sea muy elegante....


56  Programación / Programación C/C++ / Re: Variables estaticas... en: 29 Agosto 2019, 17:11 pm
Gracias por las respuestas...


Manolo, te refieres a extern ?

Loretz, entonces las variables estáticas se instancian mediante la inclusión de archivos y no de tipos ... es asi?... por ejemplo, lo que has dicho: estoy incluyendo el mismo archivo en dos archivos independientes, serian dos instancias separadas de la variable estatica... sin embargo, si instancio dos tipos Archivo2 en un mismo archivo, ahi si estaria utilizando la misma variable estatica para ambos casos.... ?

Suponiendo que tengo una clase llamada Alpha, que tiene un campo publico estático llamado myName, si yo instancio esta clase mas de una vez dentro del mismo archivo fuente, todas las instancias de la clase estarían accediendo a la misma dirección de memoria de myName...

Es al menos lo que veo aqui en este ejemplo:
https://www.tutorialspoint.com/cplusplus/cpp_static_members.htm

Saludos..
57  Programación / Programación C/C++ / Variables estaticas... en: 29 Agosto 2019, 05:16 am
Muy buenas..

Tengo un mal concepto quizá de lo que son las variables estáticas, yo las imagino algo asi como un contenedor que se crea automáticamente al iniciarse un programa, vive durante todo el programa y luego se cierra una vez que el programa termina... como un bolso de viaje que tomas al iniciar el viaje y te deshaces de él cuando regresas a casa... asi es como yo las veo.. (por favor, indicarme si estoy mal).

El siguiente código no esta reflejando esto:

main.cpp
Código
  1. #include <iostream>
  2. #include "Archivo2.h"
  3. #include "Archivo1.h"
  4.  
  5. int main() {
  6. x::num = 10;
  7. std::cout << "Desde main -> " << x::num << "Memoria : " << &x::num;
  8. std::cout << std::endl;
  9. Archivo1 a;
  10. a.printVal();
  11. return 0;
  12. }
  13.  


Archivo1.h
Código
  1. #pragma once
  2. struct Archivo1{
  3. void printVal() const;
  4. };
  5.  

Archivo1.cpp
Código
  1. #include "Archivo2.h"
  2. #include "Archivo1.h"
  3. #include <iostream>
  4.  
  5. void Archivo1::printVal() const {
  6. std::cout << "Desde Archivo1 -> " << x::num << "Memoria : " << &x::num;
  7.  
  8. }
  9.  

Archivo2.h
Código
  1. namespace x{
  2.     static int num;
  3. }
  4.  


La salida de consola "Desde Main ->" imprime 10
La salida de consola "Desde Archivo1 ->" imprime 0...

Creí que estaba imprimiendo el mismo elemento, pero no, cuando le agregue que imprimiera la dirección de memoria, me encontré con la sorpresa de que ambas estan imprimiendo direcciones diferentes....

En qué momento se creó una nueva instancia de la variable estática y como puedo solucionar este dilema?.. mi intención es escribir e imprimir en una sola variable x::num

Saludos_!

58  Programación / Programación C/C++ / Uso de Threads y error de compilación asignado a una libreria estandar... en: 4 Agosto 2019, 00:58 am
Buenas..

Tengo este código y me está saliendo error, ppienso que la sintaxis está correcta.. aun no entiendo por qué el error..  Alguna pista?


Ver en el siguiente enlace el codigo para probar:
https://onlinegdb.com/ryO2ptQ7B

Saludos.


Edit : Le quite el simbolo de referencia en el parámetro para la funcion de la linea 5 y ahí compiló..
Pero no veo por qué...
59  Programación / Programación C/C++ / Re: iteratores de flujo....inicializacion de vector, etc. en: 3 Agosto 2019, 04:40 am
Pues ya esta, me queda claro
Agradecido Loretz..
60  Programación / Programación C/C++ / Re: iteratores de flujo....inicializacion de vector, etc. en: 30 Julio 2019, 18:08 pm
Entiendo, estará bueno siempre revisar la documentación...

Que vendría siendo ifstream ?.. un canal que conecta a un archivo, o el archivo mismo?
y que vendría siendo el istream_iterator ? un puntero que apunta al contenido del archivo o apunta al contenido del flujo?...

Trato de materializar estos objetos, como podrian ser representados concretamente?

Saludos y gracias.
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