C++ 赋值运算符重载
就像其他运算符一样,您可以重载赋值运算符( = ),用于创建一个对象,比如拷贝构造函数。
下面的实例演示了如何重载赋值运算符。
实例
#include<iostream>usingnamespacestd;
classDistance{private:
intfeet; // 0 到无穷intinches; // 0 到 12public:
// 所需的构造函数Distance(){feet = 0;
inches = 0;
}Distance(intf, inti){feet = f;
inches = i;
}voidoperator=(constDistance &D){feet = D.feet;
inches = D.inches;
}// 显示距离的方法voiddisplayDistance(){cout << "F: " << feet << " I:" << inches << endl;
}};
intmain(){DistanceD1(11, 10), D2(5, 11);
cout << "First Distance : ";
D1.displayDistance();
cout << "Second Distance :";
D2.displayDistance();
// 使用赋值运算符D1 = D2;
cout << "First Distance :";
D1.displayDistance();
return0;
}
当上面的代码被编译和执行时,它会产生下列结果:
First Distance : F: 11 I:10 Second Distance :F: 5 I:11 First Distance :F: 5 I:11