#include
#include
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){//拷貝構造函數(shù)。
cout << "call copy_constructor" << endl;
int size = n.size+1;
pname = new char[size ];//為其臨時對象申請個內存。讓臨時對象的指針指向它。
//防止釋放臨時對象時把原來的對象的指針所指空間給弄亂
strcpy_s(pname, size, n.pname);//兩個參數(shù)不好辦,用三個參數(shù)。
}
void main(){
name Obj1("NoName");
cout << "strlen(\"NoName\")="<< strlen("NoName") << endl;// 轉義 \"
name Obj2 = Obj1;
system("pause");
}
另外有需要云服務器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。