diff --git a/pmbus.hpp b/pmbus.hpp
index c798f51..6b5ccc4 100644
--- a/pmbus.hpp
+++ b/pmbus.hpp
@@ -320,7 +320,7 @@
      * @return vector<uint8_t> - The data read from the file.
      */
     std::vector<uint8_t> readBinary(const std::string& name, Type type,
-                                    size_t length);
+                                    size_t length) override;
 
     /**
      * Writes an integer value to the file, therefore doing
diff --git a/tools/i2c/i2c.hpp b/tools/i2c/i2c.hpp
index c0c71d1..4e43065 100644
--- a/tools/i2c/i2c.hpp
+++ b/tools/i2c/i2c.hpp
@@ -173,16 +173,16 @@
     }
 
     /** @copydoc I2CInterface::open() */
-    void open();
+    void open() override;
 
     /** @copydoc I2CInterface::isOpen() */
-    bool isOpen() const
+    bool isOpen() const override
     {
         return (fd != INVALID_FD);
     }
 
     /** @copydoc I2CInterface::close() */
-    void close();
+    void close() override;
 
     /** @copydoc I2CInterface::read(uint8_t&) */
     void read(uint8_t& data) override;
