diff --git a/include/aidge/operator/AvgPooling.hpp b/include/aidge/operator/AvgPooling.hpp
index a5143ab4bca7da596b87a9426e5d1caed1d5b457..b534f1f68c96ea0252e1b2506bd29ea4c07d2985 100644
--- a/include/aidge/operator/AvgPooling.hpp
+++ b/include/aidge/operator/AvgPooling.hpp
@@ -145,7 +145,7 @@ public:
     }
 
 
-    void setBackend(const std::string &name) {
+    void setBackend(const std::string &name) override {
         mImpl = Registrar<AvgPooling_Op<DIM>>::create(name)(*this);
         mOutput->setBackend(name);
 
@@ -153,7 +153,7 @@ public:
         mInput->setBackend(name);
     }
 
-    void setDatatype(const DataType &datatype) {
+    void setDatatype(const DataType &datatype) override {
         mOutput->setDatatype(datatype);
 
         // FIXME: temporary workaround
diff --git a/include/aidge/operator/BatchNorm.hpp b/include/aidge/operator/BatchNorm.hpp
index d918c43179cbe6b0d145453f740f6e293374de92..75c901a1f00d26cc8b65192815c6fe93575723f0 100644
--- a/include/aidge/operator/BatchNorm.hpp
+++ b/include/aidge/operator/BatchNorm.hpp
@@ -136,7 +136,7 @@ public:
     }
 
 
-    void setBackend(const std::string &name) {
+    void setBackend(const std::string &name) override {
         mImpl = Registrar<BatchNorm_Op<DIM>>::create(name)(*this);
         mOutput->setBackend(name);
 
@@ -147,7 +147,7 @@ public:
         mInputs[4]->setBackend(name);
     }
 
-    void setDatatype(const DataType &datatype) {
+    void setDatatype(const DataType &datatype) override {
         mOutput->setDatatype(datatype);
 
         // FIXME: temporary workaround
diff --git a/include/aidge/operator/Conv.hpp b/include/aidge/operator/Conv.hpp
index b2416220a01d6e39847e79563f01be4ed9739ee0..88b317331e4b78d1d853ccfdbfc4866badd280c4 100644
--- a/include/aidge/operator/Conv.hpp
+++ b/include/aidge/operator/Conv.hpp
@@ -160,7 +160,7 @@ public:
     }
 
 
-    void setBackend(const std::string &name) {
+    void setBackend(const std::string &name) override {
         mImpl = Registrar<Conv_Op<DIM>>::create(name)(*this);
         mOutput->setBackend(name);
 
@@ -169,7 +169,7 @@ public:
         mInputs[2]->setBackend(name);
     }
 
-    void setDatatype(const DataType &datatype) {
+    void setDatatype(const DataType &datatype) override {
         mOutput->setDatatype(datatype);
 
         // FIXME: temporary workaround
diff --git a/include/aidge/operator/ConvDepthWise.hpp b/include/aidge/operator/ConvDepthWise.hpp
index 2b03dc419ee16c44f2cf35f39f63e71ce8d0d206..2b80278994bc462b2b2c98b7aae68aa60f1e1e9b 100644
--- a/include/aidge/operator/ConvDepthWise.hpp
+++ b/include/aidge/operator/ConvDepthWise.hpp
@@ -161,7 +161,7 @@ class ConvDepthWise_Op : public Operator,
 
 
 
-    void setBackend(const std::string &name) {
+    void setBackend(const std::string &name) override {
         mImpl = Registrar<ConvDepthWise_Op<DIM>>::create(name)(*this);
         mOutput->setBackend(name);
 
@@ -170,7 +170,7 @@ class ConvDepthWise_Op : public Operator,
         mInputs[2]->setBackend(name);
     }
 
-    void setDatatype(const DataType &datatype) {
+    void setDatatype(const DataType &datatype) override {
         mOutput->setDatatype(datatype);
 
         // FIXME: temporary workaround
diff --git a/include/aidge/operator/MaxPooling.hpp b/include/aidge/operator/MaxPooling.hpp
index fefd112e5a5e0e32831a63487c47ba201cfd4988..c23378eeee92d2b8958a23446b622cc98a79cf69 100644
--- a/include/aidge/operator/MaxPooling.hpp
+++ b/include/aidge/operator/MaxPooling.hpp
@@ -146,7 +146,7 @@ public:
     }
 
 
-    void setBackend(const std::string &name) {
+    void setBackend(const std::string &name) override {
         mImpl = Registrar<MaxPooling_Op<DIM>>::create(name)(*this);
         mOutput->setBackend(name);
 
@@ -154,7 +154,7 @@ public:
         mInput->setBackend(name);
     }
 
-    void setDatatype(const DataType &datatype) {
+    void setDatatype(const DataType &datatype) override {
         mOutput->setDatatype(datatype);
 
         // FIXME: temporary workaround
diff --git a/include/aidge/operator/Pad.hpp b/include/aidge/operator/Pad.hpp
index 9b3a6c24f98cbe2f69f7acf2a88a5503ed67c4b7..deae0e6b8c5a91e5c10e7655549a4e46ac90eb0b 100644
--- a/include/aidge/operator/Pad.hpp
+++ b/include/aidge/operator/Pad.hpp
@@ -142,7 +142,7 @@ public:
     }
 
 
-    void setBackend(const std::string &name) {
+    void setBackend(const std::string &name) override {
         mImpl = Registrar<Pad_Op<DIM>>::create(name)(*this);
         mOutput->setBackend(name);
 
@@ -150,7 +150,7 @@ public:
         mInput->setBackend(name);
     }
 
-    void setDatatype(const DataType &datatype) {
+    void setDatatype(const DataType &datatype) override {
         mOutput->setDatatype(datatype);
 
         // FIXME: temporary workaround
diff --git a/include/aidge/utils/StaticAttributes.hpp b/include/aidge/utils/StaticAttributes.hpp
index 88724723a10c5c5c1c38dfd069a723a49d92f723..a549948ba7b0625fab3e4bce04362bef4098a612 100644
--- a/include/aidge/utils/StaticAttributes.hpp
+++ b/include/aidge/utils/StaticAttributes.hpp
@@ -170,7 +170,7 @@ public:
     }
 
     #ifdef PYBIND
-    py::object getAttrPy(const std::string& name) const {
+    py::object getAttrPy(const std::string& name) const override {
         for (std::size_t i = 0; i < size(EnumStrings<ATTRS_ENUM>::data); ++i) {
             if (name == EnumStrings<ATTRS_ENUM>::data[i]) {
                 // https://github.com/pybind/pybind11/blob/f3e0602802c7840992c97f4960515777cad6a5c7/include/pybind11/pytypes.h#L1119-L1138