C Base 運算子過載 括號運算子過載詳解

2021-10-25 08:01:56 字數 548 閱讀 6103

一、概念及基礎

圓括號運算子()也可以過載,過載之後物件就可以使用圓括號運算子了。括號運算子只能被過載為類的非靜態成員函式,不能過載為友元函式和普通函式。過載括號運算子函式的引數個數沒有限制,甚至沒有引數都可以。

過載格式:

返回值 operator() ( 表示式表 )

二、簡單示例

#include using namespace std;

//括號運算子只能過載為類的非靜態函式

//括號英文:brackets

class bracketsoperator

//輸出數字;//功能函式;

void operator()(int num)

//返回數值相加結果;//功能函式;//並且輸出

void operator()(int num1,int num2)

//public:

int m_nnum;

};int main(int argc,char** ar**)

括號運算子過載

運算子用於函式呼叫 過載格式 型別 類 operator 表示式表 例1 設 x是類 x的乙個物件,則表示式 x arg1,arg2,可被解釋為 x operator arg1,arg2,案例 例2 用過載 運算子實現數學函式的抽象 include class f double f operator...

運算子過載之過載型別運算子

普通型別 類型別 呼叫對應的只有乙個引數 引數的型別就是這個普通型別 的建構函式 需求 boy boy1 10000 薪資 建構函式boy int boy boy2 rock 姓名 建構函式boy char 普通型別賦值給類型別其實很簡單,就是專門的對這個賦值的型別定義乙個建構函式。編譯器在執行 的...

運算子過載 賦值運算子的過載

有時候希望賦值運算子兩邊的型別可以不匹配,比如,把乙個int型別變數賦值給乙個complex物件,或把乙個 char 型別的字串賦值給乙個字串物件,此時就需要過載賦值運算子 注意 賦值運算子 只能過載為成員函式 賦值運算子過載例項示例 include include using namespace ...