Files Classes Functions Hierarchy
00001 #include <typeinfo> 00002 #include <iostream> 00003 using namespace std; 00004 00005 #include <visitprint.h> 00006 00007 bool const visitprint::visit( visitbase & x) 00008 { 00009 if (typeid(x)==typeid(visitdataA)) 00010 return visit( (visitdataA&)x ); 00011 00012 if (typeid(x)==typeid(visitdataB)) 00013 return visit( (visitdataB&)x ); 00014 00015 return false; 00016 } 00017 00018 bool const visitprint::visit( visitdataA & a) 00019 { 00020 cout << "print(visitdataA) - A::val=" << a.val << endl; 00021 return true; 00022 } 00023 00024 bool const visitprint::visit( visitdataB & b) 00025 { 00026 cout << "print(visitdataB) - B::val=" << b.val << endl; 00027 return true; 00028 } 00029 00030
1.5.8