Ok, questa potrebbe essere una domanda molto stupida, ma mi ha infastidito.Polimorfismo per parametro di funzione
Esiste un linguaggio in cui
class Animal;
class Ape : public Animal
{...}
void doStuff(Animal* animalPtr)
{
cout << "doing animal stuff" << endl;
}
void doStuff(Ape* apePtr)
{
cout << "doing ape stuff" << endl;
}
Animal *ape = new Ape();
doStuff(ape);
sarebbe cedere "doing ape stuff"
? (per favore abbiate pazienza con me usando la sintassi C++) Per chiarire, voglio "una funzione che accetta un argomento e agisce su di esso in base al tipo dell'argomento".
E avrebbe senso? Ovviamente, come sviluppatore dovresti fare attenzione perché le istanze che assomigliano a un puntatore Animal potrebbero effettivamente chiamare codice Ape, perché in fase di esecuzione è indicata un'istanza Ape.
LISP comune ... Perché è una sorpresa (non!);) Grazie per il chiarimento dei termini e il link di Wikipedia! – msi
I'll second common lisp. – Demosthenex
È quasi triste classificarlo come esoterico :-p –