c 建構函式 拷貝,賦值,析構

2021-07-11 04:02:12 字數 1001 閱讀 3292

建構函式

可以參考:

作用:為物件成員變數賦初始值。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 預設...