copy_constructor复制构造函数1

#include

创新互联是专业的福绵网站建设公司,福绵接单;提供成都网站设计、成都网站制作,网页设计,网站设计,建网站,PHP网站建设等专业做网站服务;采用PHP框架,可快速的进行福绵网站开发网页制作和功能扩展;专业做搜索引擎喜爱的网站,专业的做网站团队,希望更多企业前来合作!

#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复制构造函数1
文章地址:http://bzwzjz.com/article/jdgpoo.html

其他资讯

Copyright © 2007-2020 广东宝晨空调科技有限公司 All Rights Reserved 粤ICP备2022107769号
友情链接: 成都商城网站建设 阿坝网站设计 响应式网站设计 成都网站建设公司 四川成都网站建设 成都网站建设 成都网站建设 成都网站建设 H5网站制作 攀枝花网站设计 重庆网站建设 四川成都网站制作 手机网站制作 重庆企业网站建设 成都网站建设 成都响应式网站建设 网站制作 定制网站设计 成都网站建设 成都网站设计 做网站设计 教育网站设计方案