C 拷貝構造 拷貝複製 析構函式

2021-10-06 15:02:23 字數 689 閱讀 7017

帶有指標的成員的類必須有拷貝建構函式和拷貝賦值函式,

淺拷貝預設的賦值函式會將乙個指標賦值給另乙個,導致進行賦值的物件指標指向的內容記憶體洩漏

string.h

#ifndef __mystring__

#define __mystring__

class

string

private

:char

* m_data;};

#endif

string.cpp

#define _crt_secure_no_warnings

#include

"string.h"

#include

string::

string

(const

char

* cstr)

else

}string::

~string()

// 深拷貝

string::

string

(const string& str)

string& string::

operator=(

const string& str)

C (2) 拷貝構造 拷貝複製 析構

拷貝建構函式,與建構函式不同的是。傳入值的型別是它自己const string str。拷貝賦值函式同理,傳入的是與自己同型別的引數。inline string string const string str 如上 所作的操作為深拷貝 s2 s1 編譯器預設版本只把指標拷貝過來的為淺拷貝 如字串s2...

析構函式 , 建構函式, 拷貝複製函式

不管類中是否定義了自己的析構函式,編譯器自動執行類中非static資料成員的析構函式 expriment 2.cpp 定義控制台應用程式的入口點。include stdafx.h include using namespace std expriment 2.cpp 定義控制台應用程式的入口點。in...

C 建構函式 拷貝構造 析構函式

建構函式 constructor 在例項物件時,系統自動呼叫,用來初始化物件的資料成員 建構函式宣告語法 類名 引數列表 建構函式注意點 include include using namespace std class computer 上面的建構函式也可以寫成引數列表初始化的形式 compute...