Diskuze: pocet argumentů v operatoru
V předchozím kvízu, Online test znalostí C++, jsme si ověřili nabyté zkušenosti z kurzu.
Zobrazeno 6 zpráv z 6.
//= Settings::TRACKING_CODE_B ?> //= Settings::TRACKING_CODE ?>
V předchozím kvízu, Online test znalostí C++, jsme si ověřili nabyté zkušenosti z kurzu.
Myslím, že jelikož jsi operátor definoval jako metodu struktury my_struct, tak se očekává, že operátor bude porovnávat zadaný objekt s this, takže pak by měla být deklarace operátoru jen s jedním parametrem:
bool my_struct::operator ==(const my_struct &X)
{
return (this->X == X.X && this->Y == X.Y);
}
(upravil jsem jeho implementaci ,protože si nejsem jistý, zda-li ta tvoje opravdu dělá to, co chceš).
Pokud bys chtěl dvouargumentovou variantu operátoru, deklaruj jej jako globální funkci mimo strukturu my_struct.
Zmen
bool my_struct::operator ==(const my_struct &X, const my_struct &Y)
{
return (X.X == X.Y && Y.X == Y.Y);
}
za
bool operator ==(const my_struct &X, const my_struct &Y)
{
return (X.X == X.Y && Y.X == Y.Y);
}
Zobrazeno 6 zpráv z 6.