二元運算子需要兩個引數,下面是二元運算子的例項。我們平常使用的加運算子( + )、減運算子( - )、乘運算子( * )和除運算子( / )都屬於二元運算子。就像加(+)運算子。
下面的例項演示了如何過載加運算子( + )。類似地,您也可以嘗試過載減運算子( - )和除運算子( / )。
#include using namespace std; class box void setlength( double len ) void setbreadth( double bre ) void setheight( double hei ) // 過載 + 運算子,用於把兩個 box 物件相加 box operator+(const box& b) }; // 程式的主函式 int main( ) ;
a::a()
a::a(int n)//建構函式
a a::operator +(const a& obj)//過載+號用於 物件相加
a a::operator+(const int b)//過載+號用於 物件與數相加
a operator+(const int b, a obj)
void a::display()
輸出結果:
123wdb wdb22
424***[email protected]
11個月前 (04-08)
lonion.wei
295***[email protected]
對例項進行改寫,以非成員函式的方式過載運算子 +:
#include using namespace std;class box
void setlength( double len )
void setbreadth( double bre )
void setheight( double hei )
/*** 改寫部分 2018.09.05
* 過載 + 運算子,用於把兩個 box 物件相加
* 因為其是全域性函式,對應的引數個數為2。
* 當過載的運算子函式是全域性函式時,需要在類中將該函式宣告為友員。
*/friend box operator+(const box& a, const box& b);
};box operator+(const box& a, const box& b)
// 程式的主函式
int main( )
{ box box1; // 宣告 box1,型別為 box
box box2; // 宣告 box2,型別為 box
box box3; // 宣告 box3,型別為 box
double volume = 0.0; // 把體積儲存在該變數中
// 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 <
二元運算子過載
siwuxie095 二元運算子過載 所謂 二元運算子,即 這個符號與兩個運算元進行運算 1 加號 的過載 加號 的過載方式有兩種 一種是友元函式過載,一種是成員函式過載 1 先來看成員函式過載,如下 定義乙個座標類 coordinate 在類中宣告成員函式 operator 它的引數是 const...
C 之運算子過載(二元)
一 加號 1.成員函式過載 2.友元函式過載 二 輸出符號 三 索引符號 四 補充說明 一 為什麼 運算子的過載必須定義為友元 如果在類中定義非友元成員函式,預設第乙個引數缺省會傳入this 指標,這時就無法實現cout在前 物件在後的格式 因為二元運算子中的呼叫格式是 引數一 運算子 引數二 這也...
二元加運算子
減法,乘法,除法在運算過程中,都是先將運算元,轉成數值,再進行後續操作,而加法,卻有所不一樣。當兩個數值相加時,加法運算子,跟減法操作符一樣,直接求和。var a 1 var b 2 a b 3當兩個字串相加時,加法運算子,這表現為字串拼接。var a 1 var b 2 a b 12 注意 只有有...