c++內類的運用
#include
using
namespace std;
class
time
;time::
time()
time::
time
(int h,
int m)
void time::
addmin
(int m)
void time::
addhr
(int h)
void time::
reset
(int h,
int m)
time time::
sum(
const time& t)
const
void time::
show()
const
intmain()
這是一串簡單的類**,比較重要的是sum()函式,注意到了引數是引用但是返回型別不是引用。將引數宣告作為引用的目的只是為了提高效率,傳遞引用速度更快,使用的記憶體更少。
看一下輸出內容qaq
planning time =
0 hours,
0 minutes
coding time =
2 hours,
40 minutes
fixing time =
5 hours,
55 minutes
coding.
sum(fixing)
=8 hours,
35 minutes
接下來我們要在類裡面新增加法運算子「+」
我們只修改主函式和sum()函式宣告,其他的都是一樣的。
include
using
namespace std;
intmain()
operator+()也是由time物件呼叫的,第二個time的物件作為引數,斌且返回乙個time物件。因此可以用sum()方法呼叫。
運算子過載非常好用,但是也有許多限制,下一章來敘述。
運算子過載 賦值運算子的過載
有時候希望賦值運算子兩邊的型別可以不匹配,比如,把乙個int型別變數賦值給乙個complex物件,或把乙個 char 型別的字串賦值給乙個字串物件,此時就需要過載賦值運算子 注意 賦值運算子 只能過載為成員函式 賦值運算子過載例項示例 include include using namespace ...
運算子過載 類的賦值運算子過載
下面介紹類的賦值運算子 1.c 中物件的記憶體分配方式 在c 中,物件的例項在編譯的時候,就需要為其分配記憶體大小,因此,系統都是在stack上為其分配記憶體的。這一點和c 完全不同!千 萬記住 在c 中,所有類都是reference type,要建立類的實體,必須通過new在heap上為其分配空間...
運算子過載限制 不能過載的運算子
1.過載後的運算子必須至少有乙個操作符是使用者定義的型別。2.使用運算子不能違反運算子原來的句法規則。3.不能新建運算子 4.不能過載 sizeof const cast,dynamic cast,reinterpret cast,static cast 5.只能通過成員函式過載的運算子 限制說明 ...