C++学习之<拷贝初始化构造函数>

本文详细探讨了C++中的拷贝构造函数,包括其在对象初始化、作为函数参数传递和作为函数返回值时的作用。通过一个示例程序,展示了拷贝构造函数在不同情况下的调用,以及析构函数的相应调用次数,帮助理解对象生命周期和内存管理。
摘要由CSDN通过智能技术生成

#include<iostream.h>

/*
拷贝初始化构造函数试验代码

拷贝初始化构造函数的功能就是用一个自己已知的对象来初始化一个对象。在下述三种情况下需要用拷贝初始化构造函数来用一个对象初始化
另一个对象。
 1.明确表示由一个对象初始化一个对象时。如:TPoint P2(P1);
 2.当对象作为函数实参传递给函数形参时.如:P=f(N);
 3.当对象作为函数返回值时.如:return R; 执行返回语句return R;时系统将用对象R来初始化一个匿名对象,这时需要调用拷贝初始化构造函数.
*/
class TPoint
{
 
 public:
  TPoint(int x,int y)
  {
   X=x;
   Y=y;
   //cout<<"Constructor Called/n";
  }
  TPoint(TPoint &p);
  ~TPoint()
  {
   cout<<"Destructor Called. /n";
  }
  int Xcoord()
  {
   return X;
  }
  int Ycoord()
  {
   return Y;
  }
 private:
   int X,Y;
   
};


TPoint::TPoint(TPoint &p)
{
 X = p.X;
 Y = p.Y;
 cout<<"Copy Initialization Constructor Calle

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值