建構函式
可以參考:
作用:為物件成員變數賦初始值。new運算子一起使用
注意:
1.建構函式的命名必須和類名完全相同
2.沒有返回值,即不用在定義時加返回值型別(void int float之類的)
3.建構函式不能被直接呼叫,必須通過new運算子在建立物件時才會自動呼叫
拷貝函式
可自定義:思路就是賦值(或複製)
析構函式
1.no malloc no free
no new no delete
只有用new或者malloc分配的才需要,string類的析構函式會自己負責釋放。
2.c++中的delete和delete的區別:
new單個物件~要用delete釋放記憶體空間
new類物件陣列~要用delete釋放記憶體空間
詳情參考:
自己寫了個簡單的程式:
#define _crt_secure_no_warnings
#include
#include
using
namespace
std;
class mylove
//預設建構函式
mylove(char *hisname, char *hisheight) //建構函式
void cout_name()
void cout_height()
void change(mylove &a) //拷貝建構函式
; ~mylove()
private:
char *name = "abc";
char *height = "100";
};int main()
vs中設定#define _crt_secure_no_warnings的兩種方式: 建構函式,拷貝建構函式,析構函式,賦值函式
class cgoods else mamount amount mprice price cgoods 析構函式 cgoods const cgoods src 拷貝建構函式 void operator const cgoods src 賦值函式 private char mpname int m...
C 的構造 析構 賦值 拷貝函式比較
建構函式 析構函式與賦值函式是每個類最基本的函式。每個類只有乙個析構函式,但可以有多個建構函式 包含乙個拷貝建構函式,其它的稱為普通建構函式 和 多個賦值函式 除了同類的賦值以外,還有其他的賦值方法 對於任意乙個類a,如果不想編寫上述函式,c 編譯器將自動為a產生四個預設的函式,如 a void 預...
C 的構造 析構 賦值 拷貝函式比較
建構函式 析構函式與賦值函式是每個類最基本的函式。每個類只有乙個析構函式,但可以有多個建構函式 包含乙個拷貝建構函式,其它的稱為普通建構函式 和多個賦值函式 除了同類的賦值以外,還有其他的賦值方法 對於任意乙個類a,如果不想編寫上述函式,c 編譯器將自動為a產生四個預設的函式,如 a void 預設...