注意:注意:
注意:注意:
簡單歸納:
函式返回值
引數作用
建構函式
無返回值
有參和無參兩種
初始化物件
析構函式
無返回值
無引數物件生命週期結束時,在物件刪除前做清理工作
拷貝建構函式
無返回值
引用型別的引數
用已存在的物件建立新的對像
運算子過載
不定至少有乙個
方便c++中的操作
還有兩個預設成員函式一般不用重新定義(取位址操作符過載和const修飾的去位址操作符過載)
注意:
#include
#include
using
namespace std;
class
date
date
(int year,
int month,
int day)
~date()
date
(date& ra)
date&
operator
=(date& ra)
date&
operator+(
int day)
date&
operator-(
int day)
date&
operator++(
) date operator++(
int)
//後置++因為要返回沒有加1之前的,所以建立類型別變數(不能是類型別的引用)儲存起來,方便返回,注意和前置++返回值及引數的區別
date&
operator--(
) date operator--(
int)
bool
operator
>
(const date& ra)
const
else
if(_year==ra._year &&_month>ra._month )
else
if(_year == ra._year &&_month == ra._month&&_day > ra._day)
else
}bool
operator==(
const date& ra)
const
else
}bool
operator
>=
(const date& ra)
const
else
}bool
operator
<
(const date& ra)
const
else
}bool
operator
<=
(const date& ra)
const
else
}bool
operator!=(
const date& ra)
const
else
}void
show()
private
:int _year;
int _month;
int _day;};
intmain()
C 中類的6個預設成員函式
1.建構函式 建構函式是乙個特殊的成員函式,名字與類名相同,建立類型別物件時,由編譯器自動呼叫,在物件的生命週期內隻且值呼叫一次,以保證每個資料成員都有乙個合適的初始值。建構函式特性 1 函式名與類名相同。2 沒有返回值。3 有初始化列表 可以不用 4 新物件被建立,由編譯器自動呼叫,且在物件的生命...
C 類中的6個預設成員函式
引言 類的6個預設的成員函式包括 建構函式 析構函式 拷貝建構函式 賦值運算子過載函式 取位址操作符過載 const修飾的取位址操作符過載。這裡預設的意思是如果你不定義,則編譯器會自動生成,而在實際操作中,我們往往自己實現前四個,後兩個讓編譯器自動生成建構函式,顧名思義,為物件分配空間,進行初始化。...
C 類的6個預設成員函式
1.概念 名字與類名相同,建立類型別物件時由編譯器自動呼叫,保證每個資料成員都有乙個合適的初 始值,並且在物件的生命週期內只呼叫一次。2.特性 雖然名字叫構造,但其主任務並不是開闢空間建立物件,而是初始化物件。函式名與類名相同,無返回值,物件例項化時編譯器自動呼叫對應的建構函式,建構函式可以過載,通...