計算不同物件的重量-運算子過載
阿新 • • 發佈:2018-11-15
設boat類和car類都有資料成員weight,要求過載運算子+來計算二者的重量和。
#include"iostream" using namespace std; class boat;//在這裡一定要先宣告一下 class car;//否則下面引入友元函式時他識別不了 class boat { public: int weight; boat(int a) { this->weight=a; } void show() {cout<<"boat重"<<weight<<endl;} friend int operator +(boat &b1,car &c1); }; class car { public: int weight; car(int a) { this->weight=a; } void show() {cout<<"car重"<<weight<<endl;} friend int operator +(boat &b1,car &c1); }; int operator +(boat &b1,car &c1) { return b1.weight+c1.weight; } int main() { boat b(4); car c(5); b.show(); c.show(); cout<<"總重"<<b+c<<endl;//這裡就不必在過載操作符了 因為b+c已經被定義為int型了 return 0; }