0
我将回顾重载操作符的基础知识,特别是赋值操作符。我想了解使用口述副本超载,并按照这个移动的行为:复制/移动操作的重载赋值操作符?
我觉得他们给相当清楚的例子。
这是迄今为止我写的基本代码来说明重载。如何编辑此代码以说明在定制复制和移动行为时使用重载?
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