C++ 二元運(yùn)算符重載

C++ 重載運(yùn)算符和重載函數(shù) C++ 重載運(yùn)算符和重載函數(shù)

二元運(yùn)算符需要兩個(gè)參數(shù),下面是二元運(yùn)算符的實(shí)例。我們平常使用的加運(yùn)算符( + )、減運(yùn)算符( - )、乘運(yùn)算符( * )和除運(yùn)算符( / )都屬于二元運(yùn)算符。就像加(+)運(yùn)算符。

下面的實(shí)例演示了如何重載加運(yùn)算符( + )。類(lèi)似地,您也可以嘗試重載減運(yùn)算符( - )和除運(yùn)算符( / )。

#include <iostream>
using namespace std;
 
class Box
{
   double length;      // 長(zhǎng)度
   double breadth;     // 寬度
   double height;      // 高度
public:
 
   double getVolume(void)
   {
      return length * breadth * height;
   }
   void setLength( double len )
   {
       length = len;
   }
 
   void setBreadth( double bre )
   {
       breadth = bre;
   }
 
   void setHeight( double hei )
   {
       height = hei;
   }
   // 重載 + 運(yùn)算符,用于把兩個(gè) Box 對(duì)象相加
   Box operator+(const Box& b)
   {
      Box box;
      box.length = this->length + b.length;
      box.breadth = this->breadth + b.breadth;
      box.height = this->height + b.height;
      return box;
   }
};
// 程序的主函數(shù)
int main( )
{
   Box Box1;                // 聲明 Box1,類(lèi)型為 Box
   Box Box2;                // 聲明 Box2,類(lèi)型為 Box
   Box Box3;                // 聲明 Box3,類(lèi)型為 Box
   double volume = 0.0;     // 把體積存儲(chǔ)在該變量中
 
   // Box1 詳述
   Box1.setLength(6.0); 
   Box1.setBreadth(7.0); 
   Box1.setHeight(5.0);
 
   // Box2 詳述
   Box2.setLength(12.0); 
   Box2.setBreadth(13.0); 
   Box2.setHeight(10.0);
 
   // Box1 的體積
   volume = Box1.getVolume();
   cout << "Volume of Box1 : " << volume <<endl;
 
   // Box2 的體積
   volume = Box2.getVolume();
   cout << "Volume of Box2 : " << volume <<endl;
 
   // 把兩個(gè)對(duì)象相加,得到 Box3
   Box3 = Box1 + Box2;
 
   // Box3 的體積
   volume = Box3.getVolume();
   cout << "Volume of Box3 : " << volume <<endl;
 
   return 0;
}

當(dāng)上面的代碼被編譯和執(zhí)行時(shí),它會(huì)產(chǎn)生下列結(jié)果:

Volume of Box1 : 210
Volume of Box2 : 1560
Volume of Box3 : 5400

C++ 重載運(yùn)算符和重載函數(shù) C++ 重載運(yùn)算符和重載函數(shù)