9
İki yapılar vardır:C++: Veraset ve Operatör Yükleme
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;
}
};
isterim derlemek için aşağıdaki:
int main()
{
Odp<int> odp;
odp = 2;
Ftw f;
f = 2; // C2679: no operator could be found
}
bu işi yapmak için herhangi bir yolu var mı, yoksa tanımlamalıdır
Ftw
da operatör?
Genellikle 'operatör =' const referans parametre alır ... Bu 'değiştirmek daha iyi olurdu T operatörü = T operatörü =' üzere (const T rhs) '(const: Sen kullanarak nize söyleyerek bu geçersiz kılabileceğini T & rhs) – a1ex07