fork download
  1. #include <iostream>
  2. using namespace std;
  3.  
  4. template<typename TYPE>
  5. class _property
  6. {
  7. public:
  8. _property(const TYPE& a) : member(a) {}
  9.  
  10. TYPE& operator=(const TYPE& a) { member = a; return member; }
  11.  
  12.  
  13. operator TYPE&() { return member; }
  14. operator const TYPE&() const { return member; }
  15.  
  16. TYPE* operator&() { return &member; }
  17. const TYPE* operator&() const { return &member; }
  18.  
  19. private:
  20. TYPE member;
  21. };
  22.  
  23.  
  24. int main() {
  25. _property<int> a(2);
  26. int b = a;
  27. // your code goes here
  28. return 0;
  29. }
Success #stdin #stdout 0s 3336KB
stdin
Standard input is empty
stdout
Standard output is empty