C++中构造函数,拷贝构造函数和赋值函数的区别
2个回答
展开全部
字面上理解:
构造函数 是一种特殊的方法 主要用来在创建对象时初始化对象 即为对象成员变量赋初始值.一个类也可以有多个构造函数,用来初始化不同形式的类。
拷贝函数是特殊的构造函数,用来完成对象初始化,即定义时赋值,下面程序中有详解。如果没有定义,系统会调用默认的拷贝构造函数,但此函数不能处理深拷贝问题,及若有new用到,系统的只是共享区域,不分配新空间。
赋值函数要用运算符重载来实现。
可以使用合成复制构造函数的类通常也可以使用合成赋值操作符。一般来说,如果类需要复制构造函数,也就需要赋值操作符。
如需要深入了解区别,建议还是参考具体案例去理解。
构造函数 是一种特殊的方法 主要用来在创建对象时初始化对象 即为对象成员变量赋初始值.一个类也可以有多个构造函数,用来初始化不同形式的类。
拷贝函数是特殊的构造函数,用来完成对象初始化,即定义时赋值,下面程序中有详解。如果没有定义,系统会调用默认的拷贝构造函数,但此函数不能处理深拷贝问题,及若有new用到,系统的只是共享区域,不分配新空间。
赋值函数要用运算符重载来实现。
可以使用合成复制构造函数的类通常也可以使用合成赋值操作符。一般来说,如果类需要复制构造函数,也就需要赋值操作符。
如需要深入了解区别,建议还是参考具体案例去理解。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询