fork download
  1. #include <iostream>
  2. using namespace std;
  3.  
  4. template<typename T>
  5. class wrapper {
  6. public:
  7. wrapper(T t) : value(t) {}
  8.  
  9. operator T() const { return value; }
  10. operator T&() { return value; }
  11. operator const T&() const { return value; }
  12. private:
  13. T value;
  14. };
  15.  
  16. int main() {
  17. wrapper<int> test = 12;
  18.  
  19. int example = test;
  20.  
  21. std::cout << "test: " << test << "\nexample: " << example << "\n";
  22. return 0;
  23. }
Success #stdin #stdout 0s 3140KB
stdin
Standard input is empty
stdout
test: 12
example: 12