J'ai quelques cours comme celui-ci:Ai-je besoin d'utiliser dynamic_cast pour appeler une fonction qui accepte la classe de base?
interface class IA
{
};
interface class IB
{
};
public ref class C : public IA, public IB
{
};
public ref class D
{
void DoSomething(IA^ aaa)
{
}
void Run()
{
C^ bob = gcnew C();
DoSomething(dynamic_cast<IA^>(bob)); // #1
DoSomething(bob); // #2
}
};
Au moment où j'essaie toujours d'utiliser la coulée dynamique lors de l'appel d'une telle fonction, (le n ° 1 ci-dessus).
Cependant, cela rend le code assez moche, donc je veux savoir si c'est réellement nécessaire.
Utilisez-vous dynamic_cast de cette façon? Si oui, quelle est la raison principale?
S'il vous plaît noter que C++ et C++ - cli sont des bêtes très différentes, de sorte que vous pouvez supprimer la balise C de. – bdonlan
Fait (bien que je suppose qu'il aurait le même comportement ...) – demoncodemonkey