In genere lo scopo di un adattatore è di effettuare chiamate di funzione in un formato modificato. C'è un modo per fare lo stesso genere di cose per le variabili membro? Vale a dire che ho un oggetto che contiene un SomePoint
e un altro oggetto che contiene uno DifferentPoint
. SomePoint
memorizza i suoi dati come variabili membro in maiuscolo X
e Y
dove AnotherPoint
memorizza i suoi dati come variabili membro x
e x
. Quindi il problema è che non è possibile scrivere una funzione che accetta uno SomePoint
o uno DifferentPoint
perché non è possibile accedere a o .X
(anche utilizzando modelli senza specializzarsi interamente per ogni tipo di punto diverso, nel qual caso si potrebbe anche solo sovraccarico sul tipo di punto)."Adattatore" per variabili membro
La domanda è c'è un modo per creare un adattatore che produrrà .X
per un SomePoint
quando è richiesto ? Entrambi questi tipi di punti sono classi di libreria, quindi non posso modificare l'interno di nessuno dei due direttamente. Vorrei anche evitare di copiare i dati.
Sono confuso su come questo problema sarebbe fondamentalmente diverso se si trattasse di funzioni membro 'getx()' e 'getX()'. –
@ChristianHackl Si potrebbe semplicemente modificare l'implementazione della funzione in un adattatore per restituire il valore corretto (si potrebbe avere un adattatore per classe Point). –
Perché non scrivere tale funzione dell'adattatore per la variabile membro, quindi? Qualcosa come 'int getX (SomePoint const &)' e 'int getX (DifferentPoint const &)'. –