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

2021-10-23 13:08:49 字數 754 閱讀 9579

拷貝建構函式,與建構函式不同的是。傳入值的型別是它自己const string& str。拷貝賦值函式同理,傳入的是與自己同型別的引數。

inline 

string::

string

(const string& str)

如上**所作的操作為深拷貝 :s2(s1)

編譯器預設版本只把指標拷貝過來的為淺拷貝

如字串s2 = s1,只是拷貝了指標

inline

string& string::

operator=(

const string& str)

#include

using

namespace std;

classaa

(int i,

int j)

void

copy

(a &aa)

;void

print()

;private

:int a,b;};

void a::

copy

(a &aa)

void a::

print()

intmain()

cout可以接收指標以列印字串

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

帶有指標的成員的類必須有拷貝建構函式和拷貝賦值函式,淺拷貝預設的賦值函式會將乙個指標賦值給另乙個,導致進行賦值的物件指標指向的內容記憶體洩漏 string.h ifndef mystring define mystring class string private char m data endif...

構造 析構 拷貝

析構函式 應用場景 淺拷貝 深拷貝 class person person int a 呼叫情況1.person p 呼叫了無參構造 person p 沒有呼叫了無參構造,呼叫情況2.person p1 new person 呼叫了無參構造 person p2 new person 呼叫了無參構造t...

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

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