In Perl, there is a UNIVERSAL::can method you can call on any class or object to determine if its able to do something:
sub FooBar::foo {}
print "Yup!\n" if FooBar->can('foo'); #prints "Yup!"
Say I have a base class pointer in C++ that can be any of a number of different derived classes, is there an easy way to accomplish something similar to this? I dont want to have to touch anything in the other derived classes, I can only change the area in the base class that calls the function, and the one derived class that supports it.
EDIT: Wait, this is obvious now (nevermind the question), I could just implement it in the base that returns a number representing UNIMPLEMENTED, then check that the return is not this when You call it. Im not sure why i was thinking of things in such a complicated manner.
I was also thinking i would derive my class from another one that implemented foo then see if a dynamic cast to this class worked or not.