example31.cpp

来自「Advanced Internet Programming Lecture 2 」· C++ 代码 · 共 82 行

CPP
82
字号
#include <iostream>using namespace std;class loc {  int longitude, latitude;public:  loc() {} // needed to construct temporaries  loc(int lg, int lt) {    longitude = lg;    latitude = lt;  }  void show() {    cout << longitude << " ";    cout << latitude << "\n";  }  loc operator+(loc op2);  loc operator-(loc op2);  loc operator=(loc op2);  loc operator++();};// Overload + for loc.loc loc::operator+(loc op2){  loc temp;  temp.longitude = op2.longitude + longitude;  temp.latitude = op2.latitude + latitude;  return temp;}// Overload - for loc.loc loc::operator-(loc op2){  loc temp;  // notice order of operands  temp.longitude = longitude - op2.longitude;  temp.latitude = latitude - op2.latitude;  return temp;}               loc loc::operator=(loc op2){  longitude = op2.longitude;  latitude = op2.latitude;  return *this; // i.e., return object that generated call}// Overload prefix ++ for loc.loc loc::operator++(){  longitude++;  latitude++;  return *this;}int main(){  loc ob1(10, 20), ob2( 5, 30), ob3(90, 90);  ob1.show();  ob2.show();  ++ob1;  ob1.show(); // displays 11 21  ob2 = ++ob1;  ob1.show(); // displays 12 22  ob2.show(); // displays 12 22  ob1 = ob2 = ob3; // multiple assignment  ob1.show(); // displays 90 90  ob2.show(); // displays 90 90  return 0;}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?