代入演算子を持つクラスを含むヘッダーファイルがあります。次に、.cppファイル内で関数を定義します。
私のヘッダーファイルには次のものが含まれCar &operator=(const Car &other);
ています。cppファイルで次のようなことをしたいと思います。Car::Car &operator=(const Car &other)
{
}
残念ながら、これは正しい構文ではないようです。では、関数宣言と関数定義を分離した場合、どのように代入演算子を定義できますか?
代入演算子を持つクラスを含むヘッダーファイルがあります。次に、.cppファイル内で関数を定義します。
私のヘッダーファイルには次のものが含まれCar &operator=(const Car &other);
ています。cppファイルで次のようなことをしたいと思います。Car::Car &operator=(const Car &other)
{
}
残念ながら、これは正しい構文ではないようです。では、関数宣言と関数定義を分離した場合、どのように代入演算子を定義できますか?
もうすぐです。関数名を修飾して、それがメンバーであることを示す必要があります。
Car &Car::operator=(const Car &other) { }
^^^^^
演算子は次のように記述します
in.h
Car& operator=(const Car &other);
in cpp
Car& Car::operator=(const Car &other) { }
正しい構文は
Car& Car::operator=(const Car& other) { }
operator=()
適切な引数を持つのはメンバー関数だからです。
Car& Car::operator=(const Car &other) { }
行く方法です。