que tiene dos estructuras:C++: La herencia y la sobrecarga de operadores
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 que el siguiente para compilar:
int main()
{
Odp<int> odp;
odp = 2;
Ftw f;
f = 2; // C2679: no operator could be found
}
¿Hay alguna manera de hacer este trabajo, o debo definir el operador en Ftw
también?
Por lo general, el operador '=' toma parámetro de referencia const ... Sería mejor cambiar 'T operador = (const T RHS)' a 'operador T = (const T & rhs) ' – a1ex07