Visualizzazione dei risultati da 1 a 10 su 13

Hybrid View

  1. #1
    Utente di HTML.it L'avatar di shodan
    Registrato dal
    Jun 2001
    Messaggi
    2,381
    Quote Originariamente inviata da ing82 Visualizza il messaggio
    Avro' quindi due subject, che sono di due classi diverse, perchè rappresentano due cose diverse, in cui registrerò il mio observer (DerSubject1 e DerSubject2).
    Nell'observer, dovrò quindi tenere traccia di entrambi i subject osservati, che non varieranno di numero.
    Ok, i subject sono due. A questo punto il parametro della funzione update() serve solo a stabilire quale subject usare per aggiornare i dati dell'observer. A questo punto dovresti modificare update() così:
    codice:
          if(subject==mSubject1)
          {
            std::cout<<"\nHello from observer "<<this;
            std::cout<<"\nI'm observing subject "<<mSubject1;
            parametro1 = mSubject1->metodo1(); // esempio
          }
    
          if(subject==mSubject2)
          {
            std::cout<<"\nHello from observer "<<this;
            std::cout<<"\nI'm observing subject "<<mSubject2;
            parametro2 = mSubject2->metodo2(); // esempio
          }
    Inoltre non puoi passare nel costruttore (o altra funzione preposta) un generico Subject*. Devi passare proprio DerSubject1* e DerSubject2* se non vuoi perdita di informazioni.

    ...ecco il perchè del tentativo di ricorrere al d.p. observer.
    Beh, è il suo mestiere, no?
    This code and information is provided "as is" without warranty of any kind, either expressed
    or implied, including but not limited to the implied warranties of merchantability and/or
    fitness for a particular purpose.

  2. #2
    Utente di HTML.it L'avatar di ing82
    Registrato dal
    Sep 2014
    Messaggi
    177
    Quote Originariamente inviata da shodan Visualizza il messaggio
    A questo punto il parametro della funzione update() serve solo a stabilire quale subject usare per aggiornare i dati dell'observer.
    Ok, come pensavo.



    Quote Originariamente inviata da shodan Visualizza il messaggio
    Inoltre non puoi passare nel costruttore (o altra funzione preposta) un generico Subject*. Devi passare proprio DerSubject1* e DerSubject2* se non vuoi perdita di informazioni.
    e di conseguenza anche i due dati membro deputati a tenere il riferimento ai due osservati, saranno del tipo derivato, DerSubject1* e DerSubject2*...

    Grazie

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.