|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Member
Iscritto dal: Apr 2010
Messaggi: 62
|
[c++] - creare procedura per diversi tipi
ho una classe dove ho una procedura ricerca fatta con i puntatori io vorrei implemetare questa procedura in modo che funzioni con qualsisi tipo di variabile!
l'unico problema è vorrei anche che se il tipo di variabile è uno struct o una classe mi permettesse di fare una ricerca di un campo specifico dello struct o della classe! come posso fare? cosa devo passare alla procedura? |
|
|
|
|
|
#2 |
|
Moderatore
Iscritto dal: Nov 2006
Messaggi: 22077
|
dai un'occhiata ai generics
__________________
"WS" (p280,cx750m,4790k+212evo,z97pro,4x8GB ddr3 1600c11,GTX760-DC2OC,MZ-7TE500, WD20EFRX) Desktop (three hundred,650gq,3800x+nh-u14s ,x570 arous elite,2x16GB ddr4 3200c16, rx5600xt pulse P5 1TB)+NB: Lenovo p53 i7-9750H,64GB DDR4,2x1TB SSD, T1000 |
|
|
|
|
|
#3 |
|
Member
Iscritto dal: Apr 2010
Messaggi: 62
|
mi potresti spiegare brevemente tu cosa sono?
se può essere utile conosco già i template se è una cosa simile puoi partire da lì! |
|
|
|
|
|
#4 |
|
Senior Member
Iscritto dal: Jan 2007
Messaggi: 2267
|
I generics sono i template in Java...credo siano la stessa cosa e che !fazz intenda i template. Se vuoi usare la procedura con qualsiasi tipo di variabile primitiva utilizza i template (potrei anche sbagliarmi...è da un pò che non mi aggiorno sul C++). Se vuoi estenderla alle classi allora credo tu debba usare ereditarietà e metodi virtuali.
__________________
Concluso con:... |
|
|
|
|
|
#5 |
|
Senior Member
Iscritto dal: May 2001
Messaggi: 12967
|
I template funzionano sia con le funzioni normali che con le classi.
|
|
|
|
|
|
#6 |
|
Member
Iscritto dal: Apr 2010
Messaggi: 62
|
|
|
|
|
|
|
#7 | |
|
Senior Member
Iscritto dal: Dec 2005
Città: Istanbul
Messaggi: 1817
|
Quote:
Se vuoi una cosa piu' generica (vuoi poter fare la ricerca su un campo arbitrario devi poter specificare nella chiamata) o implementi diverse chiamate di ricerca (magari con nomi diversi), oppure devi passare la funzione di confronto come argomento, o come parametro template aggiuntivo. Ci sono vari modi, dipende da che devi fare, e se stato parecchio vago. Riesci a darci piu' dettagli ?
__________________
One of the conclusions that we reached was that the "object" need not be a primitive notion in a programming language; one can build objects and their behaviour from little more than assignable value cells and good old lambda expressions. —Guy Steele |
|
|
|
|
|
|
#8 |
|
Member
Iscritto dal: Apr 2010
Messaggi: 62
|
allora provo a spigarmi meglio!
intanto la classe su cui implemento la ricerca è la classe lista fatta con i puntatori e il template! io vorrei fare in modo che dal main di un qualsiasi programma dopo aver creato l'istanza della classe lista si può chiamare la ricerca così: Codice:
struct prodotto
{
int numero;
int prezzo;
};
int main()
{
lista<prodotto> miaLista;
int x;
//faccio finta di aver inserito dei valori nella lista
//e ora richiamo il metodo ricerca su un campo specificandone il numero
x=miaLista.Ricerca(valoreElemento, numeroCampo);
}
Ultima modifica di Granzy94 : 03-12-2011 alle 14:34. |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 22:25.




















