Advertisement
Guest User

Untitled

a guest
Apr 30th, 2017
69
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.58 KB | None | 0 0
  1.  
  2. template <class T>
  3. class A
  4. {
  5. public:
  6.  
  7.     virtual void FunThings ( const A<T> &orig, A<T>* new_one ) = 0;
  8.    
  9.     T thing{};
  10. };
  11.  
  12.  
  13. template <class T>
  14. class C: public A < T >
  15. {
  16. public:
  17.  
  18.     virtual void FunThings ( const C<T> &orig, C<T>* new_one ) {}
  19.  
  20. };
  21.  
  22.  
  23. template <class T>
  24. class PrimaryClass
  25. {
  26. public:
  27.    
  28.     virtual void DoFunThings ( A<T>* d ) = 0;
  29. };
  30.  
  31.  
  32.  
  33. template<class T>
  34. class DerivedClass: public PrimaryClass<T>
  35. {
  36. public:
  37.     virtual void DoFunThings ( C<T>* d ) {}
  38. };
  39.  
  40.  
  41. int main ()
  42. {
  43.     DerivedClass<int> derived;
  44.  
  45.     return 0;
  46. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement