C 中的運算子過載

2021-06-29 16:46:43 字數 924 閱讀 5492

c++中類的運算子過載形式為:object operator op(const object&) const;

具體例子請看下面**:

time.h

#ifndef time_h_

#define time_h_

#include "iostream"

using namespace std;

class time;

#endif

time.cpp

#include "time.h"

time::time()

time::time(int h,int m)

void time::addhour(int h)

void time::addmin(int m)

time time::operator+(const time& t) const

void time::show() const

執行結果為:

planning time:0hours,0minutes

coding time:2hours,40minutes

fixing time:5hours,55minutes

total time:8hours,35minutes

1. 過載後的運算子依然保持過載前的優先順序

2. 不能過載這幾種運算子 sizeof運算子、 . 成員運算子、.* 成員指標運算子、::作用域運算子、?:條件運算子

void show() const;

void time::show() const

以這樣的方式宣告和定義的類函式被稱為const成員函式,就像應盡可能將const引用和指標作為函式形參一樣,只要類方法不修改呼叫物件,就應將其宣告為const。

C 中運算子過載

運算子過載使得使用者自定義的資料以一種更簡潔的方式工作。比如int x,y 可以為y x y 而 my c1,c2 如果想使得兩個自定義的物件相加,以前只能調 用函式計算它們的和。而現在只要定義了運算子過載就能實現c1 c1 c2.所謂過載,就是重新賦予新的含義。函式過載就是對乙個已有的函式賦予新的...

C 中運算子過載

運算子過載可以寫在類的內部,也可以寫成全域性函式形式,其中運算子 在過載時必須宣告為類的成員函式 而運算子 sizeof 不能被過載 演算法運算子的過載不會改變運算子原有的優先順序。例子 include include include using namespace std class comple...

C 中的運算子過載(一) 運算子過載的概念

概述 運算子過載,就是對已有的運算子重新進行定義,賦予其另一種功能,以適應不同的資料型別。運算子過載 operator overloading 只是一種 語法上的方便 也就是它只是另一種函式呼叫的方式,只是為了方便我們使用,運算子只能運算內建的資料型別,對於自定義的資料型別不能運算,所以我們可以過載...