fork(1) download
  1. #include <iostream>
  2.  
  3. struct index_method {/*whatever*/};
  4.  
  5. template <class A, class B>
  6. class ExampleClass
  7. {
  8. public:
  9. ExampleClass(void) {}
  10. template <class C>
  11. ExampleClass( const ExampleClass<A,C>& src_, const B& b_ = B() ) : _b(b_) { }
  12. private:
  13. B _b;
  14. };
  15.  
  16. template <>
  17. template <>
  18. ExampleClass<double,index_method>::ExampleClass( const ExampleClass<double,index_method>& src_, const index_method& b_ )
  19. : _b(b_)
  20. {
  21. std::cout << "specialized" << std::endl;
  22. }
  23.  
  24. template<>
  25. template<>
  26. ExampleClass<double, double>::ExampleClass( const ExampleClass<double, double>& src_, const double& b_)
  27. {
  28. std::cout << "specialized for double" << std::endl;
  29. }
  30.  
  31. int main()
  32. {
  33. ExampleClass<double, index_method> ex((ExampleClass<double, index_method>()), index_method());
  34. ExampleClass<double, double> ex2((ExampleClass<double, double>()), double());
  35. }
  36.  
Success #stdin #stdout 0s 3296KB
stdin
Standard input is empty
stdout
specialized
specialized for double