返回型別 operator運算符號(形式引數列表)
operator後接需要過載的運算子, 成為運算子函式。
運算子函式的函式名就是「operator運算符號」 。
class
complex
//複數類
private:
double real;
//實部
double image;
//虛部
}
complex operator+
(const complex
&a,const complex
&b);
返回值是複數
c3的建構函式的預設值都是0
operator 運算符號(實參列表);
class 類名…
…};orclass 類名;
返回型別 類名:
:operator 運算符號(形式引數列表)
返回型別 類名:
:operator op(const 所屬型別 &obj2)
經過過載後, 表示式 「obj1 op obj2」
相當於obj1.operator op(obj2)
#include
using namespce std;
class
complex
//複數類
complex operator +
(complex
&c2)
;//過載+運算子
complex operator -
(complex
&c2)
;//過載-運算子
void display(
) private:
double real;
//實部
double imag;
//虛部};
complex
complex
::operator +
(complex
&c2)
complex
complex
::operator -
(complex
&c2)
int main(
)
返回型別 類名:
:operator op(
)經過過載後, 表示式 「op obj」
相當於obj.operator op(
)
#include
using namespace std;
class
complex
//複數類
complex operator ++(
);//過載前置+
+,彈幕運算子沒有引數
void display(
) private:
double real;
//實部
double imag;
//虛部};
complex
complex
::operator ++(
)int main(
)
返回型別 類名:
:operator op(
int)
//int標誌為後置
經過過載後, 表示式 「obj op」
相當於obj.operator op(
0)
#include
using namespace std;
class
complex
//複數類
complex operator ++(
);//過載前置+
+,彈幕運算子沒有引數
void display(
) private:
double real;
//實部
double imag;
//虛部};
complex
complex
::operator ++(
)int main(
)
class 類名
;返回型別 operator 運算符號(形式引數列表)
返回型別 operator op(const 所屬型別 &obj1,const 所屬型別 &obj1)
經過過載後, 表示式 「obj1 op obj2」
相當於operator op(obj1,obj2)
#include
using namespace std;
class
complex
//複數類
//建構函式
friend complex operator +
(const complex
&c1,const complex
&c2)
;//過載+運算子,operator +是我這個類的朋友,可以訪問類的私有成員
friend complex operator -
(const complex
&c1,const complex
&c2)
;//過載-運算子
void display(
) private:
double real;
//實部
double imag;
//虛部 };
complex operator +
(const complex
&c1,const complex
&c2)
complex operator -
(const complex
&c1,const complex
&c2)
int main(
)
返回型別 operator op(const 所屬型別 &obj)
經過過載後, 表示式 「op obj2
相當於operator op(obj)
返回型別 operator op(const 所屬型別 &obj,
int)
經過過載後, 表示式 「obj op「
相當於operator op(obj,
0)
#include
using namespace std;
class
complex
//複數類
//建構函式
friend complex operator ++(
complex
&c1)
;//過載前置+
+,operator +
+過載為類的友元函式
friend complex operator ++(
complex
&c1,
int)
;//過載後置+
+ void display(
) private:
double real;
//實部
double imag;
//虛部};
complex operator ++(
complex
&c1)
complex operator ++(
complex
&c1,
int)
int main(
)
運算子過載之過載型別運算子
普通型別 類型別 呼叫對應的只有乙個引數 引數的型別就是這個普通型別 的建構函式 需求 boy boy1 10000 薪資 建構函式boy int boy boy2 rock 姓名 建構函式boy char 普通型別賦值給類型別其實很簡單,就是專門的對這個賦值的型別定義乙個建構函式。編譯器在執行 的...
運算子過載 賦值運算子的過載
有時候希望賦值運算子兩邊的型別可以不匹配,比如,把乙個int型別變數賦值給乙個complex物件,或把乙個 char 型別的字串賦值給乙個字串物件,此時就需要過載賦值運算子 注意 賦值運算子 只能過載為成員函式 賦值運算子過載例項示例 include include using namespace ...
過載之運算子過載
運算子過載,就是對已有的運算子重新進行定義,賦予其另一種功能,以適應不同的資料型別 運算子過載的宣告方式與方法的宣告方式相同,但operator關鍵字告訴編譯器,它實際上是乙個運算子過載,後面是相關運算子的符號,在本例中就是 返回型別是在使用這個運算子時獲得的型別。在本例中,把兩個向量加起來會得到另...