Advertisement
Guest User

Untitled

a guest
Dec 19th, 2018
128
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.81 KB | None | 0 0
  1. # main
  2. #include <iostream>
  3. #include "CFoo.h"
  4. #include "CFoo.cpp"
  5.  
  6. int main()
  7. {
  8.     CFoo<int> ciFoo(1);
  9.     CFoo<bool> cbFoo(true);
  10.  
  11.     ciFoo.Hello();
  12.     cbFoo.Hello();
  13.  
  14.     return 0;
  15. }
  16.  
  17.  
  18. # ------------
  19. # CFoo.h
  20.  
  21. #ifndef TEMPLATES_CFOO_H
  22. #define TEMPLATES_CFOO_H
  23.  
  24. #include <iostream>
  25.  
  26. using namespace std;
  27.  
  28.  
  29. template<typename T>
  30. class CFoo
  31. {
  32.  
  33. public:
  34.     CFoo(T val);
  35.  
  36.     void Hello();
  37.  
  38. protected:
  39.     T _val;
  40. };
  41.  
  42. template class CFoo<int>;
  43. template class CFoo<bool>;
  44.  
  45.  
  46. #endif //TEMPLATES_CFOO_H
  47.  
  48.  
  49. # -------------
  50. # CFoo.cpp
  51.  
  52. #include "CFoo.h"
  53.  
  54. template<typename T>
  55. CFoo<T>::CFoo(T val)
  56. {
  57.     _val = val;
  58. }
  59.  
  60.  
  61. template<>
  62. void CFoo<bool>::Hello()
  63. {
  64.     cout << "BOOl" << this->_val;
  65. }
  66.  
  67. template<>
  68. void CFoo<int>::Hello()
  69. {
  70.     cout << "INT" << this->_val;
  71. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement