Ver Mensaje Individual
  #1  
Antiguo 11-10-2012
TecnoBestia TecnoBestia is offline
Miembro
 
Registrado: jun 2010
Posts: 35
Reputación: 0
TecnoBestia Va por buen camino
¿Cómo hacer referencia a una clases desde otra que se encuentra dentro de la primera?

Hola a todos.

Tengo una duda, que posiblemente sea fácil para muchos de ustedes pero que me ha generado algunos dolores de cabeza ya que no he podido encontrar información al respecto. De hecho no sé si sea posible hacer lo que quiero.

Tengo dos clases definidas como sigue:

Código Delphi [-]

clsHormiga=class(TObject) 
  private
    function DistanciaAlCudrado(k_Individuo:Integer; k_CG:Integer)ouble;
  protected
  public

    ListaDeNodosAClasificar:VectorINT;                           

    MatrizCG:MatrizIR;                                         
                                                             
    VCardinalidades:VectorINT;                             

    VClasificacion:VectorINT;                                

    ValorDeLaInerciaActualouble;





    {Definición de procedimientos y funciones}

    procedure IniciarCG;
    procedure CamineYClasifique(NumeroNodosPorClasificar:Integer);
    procedure CalcularCG_dada_Clasificacion;
    procedure DeterminarVClasificacionYInercia;
    procedure CalcularInercia_dados_CG_y_clasificacion;
    procedure Intesificar_Rastro_Feromona;

  published
  end;

  //*******************************************************************************************
  //############################    Objeto clsColonia  ########################################
  //*******************************************************************************************
  clsColonia=class(TObject)
  private
  protected
  public
    
    Matriz_FeromonaIndi_CG:MatrizIR;        

    MejorInerciaDeLaHistoriaouble;         

    MejorHormiga:clsHormiga;                 

    VectorDeHormigas:array of clsHormiga;  // Note que en este paso, se define un vector de la otra clases.   

    Cantidad_de_Hormiga:Integer;              

    Matriz_FeromonaAux:MatrizIR;              


    constructor Create(NumHormigas:Integer);
    procedure Actualizar_el_rastro_de_la_feromona;
    procedure ContruirClasificacion();

  published
  end;

En la primera clases clsHormiga hay un procedimiento que se llama CalcularCG_dada_Clasificacion; el cual debe usar los datos y modificar la matriz Matriz_FeromonaIndi_CG
que está en la clase clsColonia. Mi pregunta es ¿Cómo se puede hacer referencia a dicha matriz desde dentro de la clases clsHormiga?

Nota:

Código Delphi [-]
type
  VectorIR=array of Double;    //Tipo de Vector de Reales
  VectorINT=array of Integer;  //Tipo Vector de Enteros
  MatrizIR=array of VectorIR;  //Tipo Matriz de reales, para la Tabla de Datos
  MatrizINT=array of VectorINT; //Tipo de matriz de enteros.
Responder Con Cita