類的6個預設成員函式
1。建構函式
作用:初始化變數
特徵:1。函式名與類名相同
2。無返回值
3。如果沒有顯式定義,自動生成
4。物件例項化時編譯器自動呼叫
5。可過載
舉例**如下:
#define _crt_secure_no_warnings 1
#include
using namespace std;
class date
void
display()
private:
int _year;
int _month;
int _day;};
intmain()
2。析構函式
作用:完成類的資源清理
特徵:1。函式名是在類名前加~
2。無引數無返回值
3。如果沒有顯示定義,編譯器自動生成
4。物件生命週期結束時,編譯器自動呼叫
例項**如下:
#define _crt_secure_no_warnings 1
typedef
int datatype;
class seqlist
~seqlist()
//析構函式
}private:
int* _pdata;
size_t _size;
size_t _capacity;
};
3。拷貝建構函式
特徵:1。是建構函式的一種過載形式
2。只有乙個引數且必須引用傳參
例項**如下:
#define _crt_secure_no_warnings 1
class date
date
(const date& d)
private:
int _year;
int _month;
int _day;};
intmain()
4。賦值運算子過載
(1)運算子的過載
作用:為了提高c++的可讀性
函式原型:返回值型別 operator運算子(引數列表)
(2)賦值操作符過載
作用:對已存在的物件進行賦值拷貝
特徵:1。引數型別
2。返回值
3。返回 *this
4。檢測是否自己給自己賦值
5。如果沒有顯式定義,則會自動生成,完成物件按位元組序的值拷貝
例項**如下:
class date
date
(const date& d)
date& operator=
(const date& d)
return
*this;
}private:
int _year;
int _month;
int _day;
};
5。const成員
作用:修飾成員函式裡隱含的this指標
特徵:不能對類的任何成員進行更改
例項**如下:
#define _crt_secure_no_warnings 1
#include
using namespace std;
class date
void
display()
const
private:
int _year;
// 年
int _month;
// 月
int _day;
// 日};
void
test()
intmain()
6。取位址操作符過載和const修飾的取位址操作符過載
例項**如下:
#define _crt_secure_no_warnings 1
class date
const date* operator&()
const
private:
int _year;
// 年
int _month;
// 月
int _day;
// 日
};
這兩個操作符使用預設的取位址操作符過載即可。 C 類與物件
程式設計模型 所有計算機均由兩種元素組成 和資料.精確的說,有些程式是圍繞著 什麼正在發生 而編寫,有些則是圍繞 誰正在受影響 而編寫的.抽象封裝 封裝是一種把 和 所操作的資料 在一起,使這兩者不受外界干擾和誤用的機制.繼承 繼承是指乙個物件從另乙個物件中獲得屬性的過程.是物件導向程式設計的三大原...
C 類與物件
c 類與物件 區分物件導向與面向過程 物件導向是指一種程式設計范型,同時也是一種程式開發的方法。它將物件作為程式的基本單元,將程式和資料封裝其中,以提高軟體的重用性 靈活性和擴充套件性。物件導向 利用物件間的訊息傳遞來驅動程式的執行。優點 真實表現客觀世界,物件間的關係清晰,物件間的訊息處理高效。面...
C 類與物件
類是物件導向的核心機制,是物件導向設計中對具有相同或相似性質的物件的抽象,是對資料和操作進行封裝的載體,進而保證了對資料的安全 高效 合理的訪問 物件是類的例項,是類的具體個體,對應現實世界的實體。類的定義 class 類名 void showclock 習慣上在類的宣告中只定義函式的原型,在類外定...