C++的拷贝构造函数

拷贝构造函数是一种特殊的构造函数,具有一般的构造函数的特性。其作用是使用一个已经存在的对象(由拷贝构造函数的参数决定)去初始化同类的一个新对象,实现同类对象间的数据成员的传递。若coder or prgrammer没有自己定义一个拷贝构造函数,那么编译器就会自己为他们定义一个拷贝构造函数(其实像 构造函数,析构函数,copy assignment函数这些函数如果程序员没有自己定义的话,编译器就会产生默认的浙西函数)。而默认的拷贝构造函数的功能是,把初始值对象的每个数据成员的值都复制到新建立的对象之中。

构造函数的声明形式:

class 类名{

public:

类名(形参表) ;

类名(类名 &形参表);

};

实现:

类名::类名(类名 &形参表)

{

函数体;

}

普通的构造函数是在对象建立的情况下就被调用,而拷贝构造函数就不一样;一般是在以下三种情况下被调用:

1:当用类的一个对象去初始化该类的另一个对象时  ;

int main{

Point A(1,2);

Point B(A);

        cout<<B.Get()<<endl;

return 0;

}

2:如果函数的形参是类的对象,调用函数时,进行时参和形参的结合时;

void f(Point A)

{

cout<<A.Get()<<endl;

};

int main()

{

Point A(1,2);

f(A);

}

3:如果函数的返回值是类的对象,函数执行完后返回调用者;

Point g()

{

Point A(1,2);

return A;

}

 

int main()

{

Point B;

B=g();

}

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值