9

代入演算子を持つクラスを含むヘッダーファイルがあります。次に、.cppファイル内で関数を定義します。

私のヘッダーファイルには次のものが含まれCar &operator=(const Car &other); ています。cppファイルで次のようなことをしたいと思います。Car::Car &operator=(const Car &other) { }

残念ながら、これは正しい構文ではないようです。では、関数宣言と関数定義を分離した場合、どのように代入演算子を定義できますか?

4

4 に答える 4

12

もうすぐです。関数名を修飾して、それがメンバーであることを示す必要があります。

Car &Car::operator=(const Car &other) { }
     ^^^^^
于 2012-07-05T15:30:28.270 に答える
4

演算子は次のように記述します

in.h
Car& operator=(const Car &other);
in cpp
Car& Car::operator=(const Car &other) { }
于 2012-07-05T15:31:14.337 に答える
2

正しい構文は

Car& Car::operator=(const Car& other) { }

operator=()適切な引数を持つのはメンバー関数だからです。

于 2012-07-05T15:30:21.707 に答える
2
Car& Car::operator=(const Car &other) { }

行く方法です。

于 2012-07-05T15:30:47.510 に答える