unarios sobrecarga sencillos relacionales operadores matrices insercion extraccion ejemplos definicion c++ inheritance operator-overloading

sencillos - sobrecarga de operadores relacionales en c++



C++: herencia y sobrecarga del operador (1)

El problema es que el compilador normalmente crea un operator= para usted (a menos que proporcione uno), y este operator= oculta el heredado. Puede anular esto mediante el uso-declaración:

struct Ftw : public Odp<int> { using Odp<int>::operator=; bool operator==(const Ftw& rhs) { return m_t == rhs.m_t; } };

Tengo dos estructuras:

template <typename T> struct Odp { T m_t; T operator=(const T rhs) { return m_t = rhs; } }; struct Ftw : public Odp<int> { bool operator==(const Ftw& rhs) { return m_t == rhs.m_t; } };

Me gustaría recopilar lo siguiente:

int main() { Odp<int> odp; odp = 2; Ftw f; f = 2; // C2679: no operator could be found }

¿Hay alguna manera de hacer que esto funcione, o debo definir el operador en Ftw también?