文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>构造函数,拷贝构造函数,赋值函数

构造函数,拷贝构造函数,赋值函数

时间:2010-06-10  来源:bestilyq

构造函数与一般函数的区别:
   1、构造函数名必须和类名完全相同;而一般函数则不能和类名相同。
   2、构造函数的功能主要用于在类的对象创建时定义初始化的状态,它没有返回值,也不能用void来修饰。
   3、构造函数不能被直接调用,必须通过new运算符在创建对象时才会调用,一般方法在程序执行到它的时候被调用。

拷贝构造函数:
格式:构造函数名(对象的引用)
以下几种情况会用到拷贝构造函数:
   1、一个对象以值传递的方式传入函数体(作为形参)。
   2、一个对象以值传递的方式从函数返回(作为返回值)。
   3、一个对象需要通过另一个对象进行初始化。
当对象中有指针时,必须使用“深复制”拷贝构造函数。
注意:拷贝构造函数不可以改变它所引用的对象,最好使用const修饰。原因是:当一个对象以值传递的方式传入一个函数的时候,拷贝构造函数自动被调用来生成函数中的对象。如果一个对象被传入自己的拷贝构造函数,它的拷贝构造函数将会被调用来拷贝这个对象,这样复制才可以传入它自己的拷贝构造函数,这会导致无限循环直至栈溢出。

赋值函数:赋值符的重载函数
形式为:A& A::operator = (const A& a)
实现流程为:首先判断当前对象与引用传递对象是否是同一个对象,如果是,直接return *this;否则先释放当前对象的堆内存,然后分配足够长度的堆内存,return *this。

相关阅读 更多 +
排行榜 更多 +
辰域智控app

辰域智控app

系统工具 下载
网医联盟app

网医联盟app

运动健身 下载
汇丰汇选App

汇丰汇选App

金融理财 下载