fork(3) download
  1. #include <cstdlib>
  2.  
  3. template <class T>
  4. class ClassA
  5. {
  6. public:
  7. ClassA() : _length(0) { };
  8. ClassA(size_t length) : _length(length) { };
  9.  
  10. size_t Length() const { return _length; };
  11. void Length(size_t length) { _length = length; };
  12.  
  13. private:
  14. size_t _length;
  15.  
  16. };
  17.  
  18. template <class T>
  19. class ClassB : public ClassA<T>
  20. {
  21. public:
  22. ClassB() { };
  23.  
  24. template <size_t N>
  25. ClassB(const T (&value)[N]) :
  26. ClassA<T>(N)
  27. {
  28. }
  29.  
  30. template <size_t N>
  31. ClassB<T>& operator=(const T (&value)[N])
  32. {
  33. ClassA<T>::Length(N);
  34. return *this;
  35. }
  36.  
  37. };
  38.  
  39. int main()
  40. {
  41. ClassB<char> test = "Test";
  42. return 0;
  43. }
Success #stdin #stdout 0s 15232KB
stdin
Standard input is empty
stdout
Standard output is empty