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

 

 


Tema destacado: Guía rápida para descarga de herramientas gratuitas de seguridad y desinfección


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  [AYUDA] Interface?
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: [AYUDA] Interface?  (Leído 1,955 veces)
Miseryk

Desconectado Desconectado

Mensajes: 225


SI.NU.SA U.GU.DE (2NE1 - D-Unit)


Ver Perfil
[AYUDA] Interface?
« en: 24 Noviembre 2015, 01:01 am »

Buenas a todos, estoy necesitando hacer algo pero no sé como lo puedo llegar a lograr, la cuestión es la siguiente, tengo un código en Java y quiero pasarlo a Visual C++ (2013):

Yo en otro lenguaje tengo lo que es una Interface (java)

Código
  1. public Interface IClase
  2. {
  3.    public void Funcion1();
  4.    public void Funcion2();
  5. }
  6.  
  7. public class A implements IClase
  8. {
  9.    @Override
  10.    public void Funcion1()
  11.    {
  12.        //CODIGO
  13.    }
  14.  
  15.    @Override
  16.    public void Funcion2()
  17.    {
  18.        //CODIGO
  19.    }
  20. }
  21.  
  22. public class B implements IClase
  23. {
  24.    @Override
  25.    public void Funcion1()
  26.    {
  27.        //CODIGO
  28.    }
  29.  
  30.    @Override
  31.    public void Funcion2()
  32.    {
  33.        //CODIGO
  34.    }
  35. }
  36.  
  37. public class C implements IClase
  38. {
  39.    @Override
  40.    public void Funcion1()
  41.    {
  42.        //CODIGO
  43.    }
  44.  
  45.    @Override
  46.    public void Funcion2()
  47.    {
  48.        //CODIGO
  49.    }
  50. }
  51.  
  52. public class Tester
  53. {
  54.    private IIClase prueba;
  55.  
  56.    public void setPrueba(IClase param1)
  57.    {
  58.        this.prueba = param1;
  59.    }
  60. }
  61.  
  62. void setUp()
  63. {
  64.    Test Test1 = new Test();
  65.    A A1 = new A();
  66.    B B1 = new B();
  67.    C C1 = new C();
  68.  
  69.    Test1.setPrueba(A1);
  70.    Test1.setPrueba(B1);
  71.    Test1.setPrueba(C1);
  72. }
  73.  

Qué significa ésto? Significa que dentro de la clase Test tengo una variable como una interface y que tengo 3 clases "diferentes" que comparte una lógica y quiero poder "meter" dentro de esa variable, cualquiera de esas 3 clases, pero C++, alguna idea?

Mientras sigo buscando alguna solución.

No me importa si es programación ninja o villera, quiero poder hacerlo.

Gracias!


En línea

Can you see it?
The worst is over
The monsters in my head are scared of love
Fallen people listen up! It’s never too late to change our luck
So, don’t let them steal your light
Don’t let them break your stride
There is light on the other side
And you’ll see all the raindrops falling behind
Make it out tonight
it’s a revolution

CL!!!
ivancea96


Desconectado Desconectado

Mensajes: 3.412


ASMático


Ver Perfil WWW
Re: [AYUDA] Interface?
« Respuesta #1 en: 24 Noviembre 2015, 16:31 pm »

Un ejemplo:

Código
  1. class IClase{
  2. public:
  3.    virtual void Funcion1() = 0;
  4. }
  5.  
  6. class A : public IClase{
  7. public:
  8.    virtual void Funcion1(){
  9.        //...
  10.    }
  11. }


En línea

Miseryk

Desconectado Desconectado

Mensajes: 225


SI.NU.SA U.GU.DE (2NE1 - D-Unit)


Ver Perfil
Re: [AYUDA] Interface?
« Respuesta #2 en: 24 Noviembre 2015, 22:26 pm »

Un ejemplo:

Código
  1. class IClase{
  2. public:
  3.    virtual void Funcion1() = 0;
  4. }
  5.  
  6. class A : public IClase{
  7. public:
  8.    virtual void Funcion1(){
  9.        //...
  10.    }
  11. }

Sí, éso es todo muy lindo, pero no puedo hacer

Código
  1. Class Test
  2. {
  3.    public:
  4.        IClase MyIClase; //Error 1 error C2259: 'IClase' : cannot instantiate abstract class,
  5.  
  6. }
  7.  
En línea

Can you see it?
The worst is over
The monsters in my head are scared of love
Fallen people listen up! It’s never too late to change our luck
So, don’t let them steal your light
Don’t let them break your stride
There is light on the other side
And you’ll see all the raindrops falling behind
Make it out tonight
it’s a revolution

CL!!!
ivancea96


Desconectado Desconectado

Mensajes: 3.412


ASMático


Ver Perfil WWW
Re: [AYUDA] Interface?
« Respuesta #3 en: 24 Noviembre 2015, 23:36 pm »

Porque es una clase abstracta. Una clase abstracta no se puede instanciar, va en contra de la utilidad de una clase abstracta. De la misma forma, una interface no se instancia.

¿Por qué quieres crear un objeto de una clase abstracta? Estarías creando un objeto sin sentido.

Si lo que quieres es guardar dentro de una variable de la clase IClase, un objeto que herede de esta, tendrás que hacer un puntero.
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
interface
Diseño Gráfico
prosk8er 2 2,034 Último mensaje 4 Agosto 2004, 15:30 pm
por prosk8er
Ayuda! pasar mis programas de modo consola a una interface
Programación C/C++
elkiy 4 4,711 Último mensaje 12 Junio 2012, 22:31 pm
por elkiy
AYUDA!! Interface en Visual studio con transparencia degradada.
.NET (C#, VB.NET, ASP)
xustyx 1 2,826 Último mensaje 4 Noviembre 2012, 04:48 am
por Keyen Night
[Ayuda] Habilitar interface como usuario para wireshark
Redes
MatiasHA 0 1,771 Último mensaje 11 Noviembre 2012, 17:47 pm
por MatiasHA
ayuda con interface
.NET (C#, VB.NET, ASP)
spiritdead 6 3,137 Último mensaje 13 Diciembre 2012, 02:16 am
por spiritdead
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines