#include<iostream>
成都創(chuàng)新互聯(lián)公司從2013年開始,是專業(yè)互聯(lián)網(wǎng)技術(shù)服務(wù)公司,擁有項(xiàng)目網(wǎng)站建設(shè)、做網(wǎng)站網(wǎng)站策劃,項(xiàng)目實(shí)施與項(xiàng)目整合能力。我們以讓每一個夢想脫穎而出為使命,1280元孝昌做網(wǎng)站,已為上家服務(wù),為孝昌各地企業(yè)和個人服務(wù),聯(lián)系電話:18980820575
#include<string.h>
using namespace std;
class name{
public:
name(char *pn);
~name();
name::name(const name& n);
protected:
char *pname;
int size;
};
name::name(char *pn){
cout << "constructing" << pn << endl;
pname = new char[strlen(pn) + 1];
if (pname != 0)
strcpy_s(pname, strlen(pn) + 1, pn);
size = strlen(pn);
}
name::~name(){
cout << "Destructing" << pname << endl;
pname[0] = '\0';
delete[]pname;
size = 0;
}
name::name(const name& n){//拷貝構(gòu)造函數(shù)。
cout << "call copy_constructor" << endl;
int size = n.size+1;
pname = new char[size ];//為其臨時對象申請個內(nèi)存。讓臨時對象的指針指向它。
//防止釋放臨時對象時把原來的對象的指針?biāo)缚臻g給弄亂
strcpy_s(pname, size, n.pname);//兩個參數(shù)不好辦,用三個參數(shù)。
}
void main(){
name Obj1("NoName");
cout << "strlen(\"NoName\")="<< strlen("NoName") << endl;// 轉(zhuǎn)義 \"
name Obj2 = Obj1;
system("pause");
}
網(wǎng)頁標(biāo)題:copy_constructor復(fù)制構(gòu)造函數(shù)2
分享路徑:http://muchs.cn/article20/phddco.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供搜索引擎優(yōu)化、ChatGPT、外貿(mào)建站、網(wǎng)站收錄、、網(wǎng)站維護(hù)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)