C++读书笔记之 赋值运算符= 重载 前缀自减运算符--重载 求负运算符- 重载 (二)

2014-11-24 02:24:24 · 作者: · 浏览: 3

Distance operator--(int)
{
Distance Temp(feet,inches);
feet--;
inches--;
return Temp;
}

// method to display distance
void displayDistance()
{
cout << "Feet: " << feet << " Inches:" << inches << endl;
}

};
int main()
{
Distance D1(19.91, -20.13),D2;
cout << "\nD1 Distance now: \n";
D1.displayDistance();
--D1;
cout << "\nD1 Distance after --D1 : \n";
D1.displayDistance();

-D1;
cout << "\nD1 Distance after -D1 : \n";
D1.displayDistance();

cout << "\nD1--.displayDistance():\n";
D1--.displayDistance();

// use assignment operator
D2 = D1--;
cout << "\nafter D2=D1-- Distance of D2 :\n";
D2.displayDistance();

cout << "\nafter D2=D1-- Distance of D1 :\n";
D1.displayDistance();

return 0;
}
/**************************
运行结果:

D1 Distance now:
Feet: 19.91 Inches:-20.13

D1 Distance after --D1 :
Feet: 18.91 Inches:-21.13

D1 Distance after -D1 :
Feet: -18.91 Inches:21.13

D1--.displayDistance():
Feet: -18.91 Inches:21.13

after D2=D1-- Distance of D2 :
Feet: -19.91 Inches:20.13

after D2=D1-- Distance of D1 :
Feet: -20.91 Inches:19.13

Process returned 0 (0x0) execution time : 0.819 s
Press any key to continue.

***************************/