拷貝建構函式,與建構函式不同的是。傳入值的型別是它自己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...