Implementieren Sie mithilfe des CRTP-Musters einen vererbbaren BesucherC++

Programme in C++. Entwicklerforum
Anonymous
 Implementieren Sie mithilfe des CRTP-Musters einen vererbbaren Besucher

Post by Anonymous »

Ich versuche, eine vererbbare Besuchermethode für eine Klasse zu implementieren, die CRTP anstelle einer virtuellen Funktion verwendet. Zuerst haben wir einen Code wie diesen:

Code: Select all

#include 
#include 
struct A {
virtual ~A() = default;
};
struct B : A {};
struct C : A {};

template 
struct Base {
void dispatch(A *a) {
if (dynamic_cast(a)) {
return static_cast(this)->func(dynamic_cast(a));
}
if (dynamic_cast(a)) {
return static_cast(this)->func(dynamic_cast(a));
}
return static_cast(this)->func(a);
}
void func(A*) { std::cout

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post