113. Operator Overloading-I

Question.2

An EEPROM class overloads [] for byte-level hardware reads:

class EEPROM {
   volatile uint8_t* base;
public:
   EEPROM(uint32_t addr) : base((volatile uint8_t*)addr) {}
   uint8_t operator[](int offset) const {
       return base[offset];
   }
};

EEPROM mem(0x08000000);
uint8_t val = mem[5];

What does mem[5] do?

Need Help? Refer to the Quick Guide below

Select Answer