オーバーロードされた演算子、特に代入演算子の基本について説明します。私はコピーを口述でのオーバーロードを使用することを理解し、これに従うことによって行動を移動しようとしている:コピー/移動操作のオーバーロードされた代入演算子ですか?
私は、彼らが非常に不明瞭であることを与える例を見つけます。
これは、オーバーロードを説明するためにこれまでに書いた基本コードです。このコードを編集して、コピーや移動の動作をカスタマイズする際の過負荷の使用を例示するにはどうすればよいですか?
class Distance
{
public:
int feet, inches;
Distance()
{
feet = 0;
inches = 0;
}
Distance(int f, int i)
{
feet = f;
inches = i;
}
auto operator=(Distance &D)->void //Use operator to perform additional operation (adding 100)
{
feet = D.feet + 100;
inches = D.inches + 100;
}
};
int main()
{
Distance D1;
D1.feet = 10;
D1.inches = 12;
Distance D2;
D2 = D1;
std::cout << D2.feet << std::endl;
}
読んだ後でもまだ不明ですか?それともあなたがどうして心配していますか? – holmicz
理解していない人のために - OPはStroupstrupが代入演算子に関する章を全部持っていることを明示した。 – holmicz