资讯

精准传达 • 有效沟通

从品牌网站建设到网络营销策划,从策略到执行的一站式服务

copy_constructor复制构造函数2

#include

成都创新互联公司从2013年开始,是专业互联网技术服务公司,拥有项目网站建设、做网站网站策划,项目实施与项目整合能力。我们以让每一个梦想脱颖而出为使命,1280元孝昌做网站,已为上家服务,为孝昌各地企业和个人服务,联系电话:18980820575

#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){//拷贝构造函数

cout << "call copy_constructor" << endl;

int size = n.size+1;

pname = new char[size ];//为其临时对象申请个内存。让临时对象的指针指向它。

//防止释放临时对象时把原来的对象的指针所指空间给弄乱

strcpy_s(pname, size, n.pname);//两个参数不好办,用三个参数。

}

void main(){

name Obj1("NoName");

cout << "strlen(\"NoName\")="<< strlen("NoName") << endl;// 转义 \"

name Obj2 = Obj1;

system("pause");

}


新闻标题:copy_constructor复制构造函数2
网页URL:http://cdkjz.cn/article/phddco.html
多年建站经验

多一份参考,总有益处

联系快上网,免费获得专属《策划方案》及报价

咨询相关问题或预约面谈,可以通过以下方式与我们联系

业务热线:400-028-6601 / 大客户专线   成都:13518219792   座机:028-86922220