25 lines
438 B
C++
25 lines
438 B
C++
#include "bar.h"
|
|
|
|
template<class T> class Spam : public Bar<T> {
|
|
public:
|
|
Spam() { }
|
|
~Spam() { }
|
|
virtual void A() {
|
|
printf("I'm Spam::A\n");
|
|
}
|
|
void B() {
|
|
printf("I'm Spam::B\n");
|
|
}
|
|
virtual Base<T> *toBase() {
|
|
return static_cast<Base<T> *>(this);
|
|
}
|
|
virtual Bar<T> *toBar() {
|
|
return static_cast<Bar<T> *>(this);
|
|
}
|
|
static Spam<T> *fromBase(Base<T> *b) {
|
|
return dynamic_cast<Spam<T> *>(b);
|
|
}
|
|
};
|
|
|
|
|