Test Foro de elhacker.net SMF 2.1

Programación => Programación C/C++ => Mensaje iniciado por: gibranini en 21 Mayo 2014, 22:10 PM

Título: Asociacion en c++
Publicado por: gibranini en 21 Mayo 2014, 22:10 PM
Alguien sabe como asociar en c++ con clases o algun libro que me recomienden donde me explique y diga como hacerlo  :o
Título: Re: Asociacion en c++
Publicado por: patilanz en 21 Mayo 2014, 23:10 PM
Que te refieres con asocias clases?
Título: Re: Asociacion en c++
Publicado por: gibranini en 21 Mayo 2014, 23:54 PM
al tipo de Relación llamado Asociación (conexión entre clases), pero no tengo idea de como hacerlo,
Título: Re: Asociacion en c++
Publicado por: eferion en 22 Mayo 2014, 08:16 AM
¿Punteros? ¿Herencia?
Título: Re: Asociacion en c++
Publicado por: patilanz en 22 Mayo 2014, 23:18 PM
Polimorfismo? Herencia? Que es?
Título: Re: Asociacion en c++
Publicado por: gibranini en 23 Mayo 2014, 04:56 AM
Creo que herencia, solo se que se tienen que comunicar dos clases por medio de punteros o variables :S
Título: Re: Asociacion en c++
Publicado por: eferion en 23 Mayo 2014, 08:46 AM
Eso no es herencia:

En el ejemplo que pongo se ve cómo se pueden comunicar clases sin necesidad de herencia.

Código (cpp) [Seleccionar]

#include <iostream>
#include <string>

class B;

class A
{
  friend class B;

  public:
    A( )
      : b( nullptr )
    { }

    void SetB( B* ptr_b )
    { b = ptr_b; }

    void EnviarMensaje( const std::string& mensaje ) const;

  private:

    B* b;

    void PonerMensaje( const std::string& mensaje ) const
    { std::cout << "A: " << mensaje << std::endl; }
};

class B
{
  friend class A;

  public:
    B( )
      : a( nullptr )
    { }

    void SetA( A* ptr_a )
    { a = ptr_a; }

    void EnviarMensaje( const std::string& mensaje ) const
    { if ( a ) a->PonerMensaje( mensaje ); }

  private:

    A* a;

    void PonerMensaje( const std::string& mensaje ) const
    { std::cout << "B: " << mensaje << std::endl; }
};


void A::EnviarMensaje( const std::string& mensaje ) const
{ if ( b ) b->PonerMensaje( mensaje ); }

int main( )
{
  A a;
  B b;

  a.SetB( &b );
  b.SetA( &a );

  a.EnviarMensaje( "Hola" ); // Pantalla: B: Hola
  b.EnviarMensaje( "Adios" ); // Pantalla: A: Adios
}


Deberías aclarar un poco más los requisitos
Título: Re: Asociacion en c++
Publicado por: vangodp en 23 Mayo 2014, 08:47 AM
creo que te puede servir: https://www.youtube.com/watch?v=vu8VVk2faYY  ;-)
Suerte
Título: Re: Asociacion en c++
Publicado por: gibranini en 28 Mayo 2014, 02:37 AM
Gracias  ;D ;D