《C++个人学习笔记》复制构造函数

复制构造函数是C++中创建相同对象的方式之一,通过已存在的对象初始化新对象。它接收一个本类对象的引用作为参数,实现对象的复制。复制构造函数与普通构造函数相似,但用于克隆已有对象。
摘要由CSDN通过智能技术生成

生成两个完全相同的对象有两种方法,第一种就是将已有的对象的数据成员(member或称属性)取出来,一一赋值给新的对象。第二种方法就是使用复制构造函数,让类具有自行复制本类对象的能力。

 复制构造函数:具有一般构造函数的所有特性,形参是本类的对象的引用。作用是使用一个已经存在的对象(由复制构造函数的参数指定),去初始化同类的一个新对象。

个人理解:构造函数是用于创建一个类的新的对象。而复制构造函数就是复制一个已经存在的对象。(构造函数创建一个新的人,复制构造函数就是创建一个克隆人)。

#include<iostream>
using namespace std;
/*复制构造函数*/
//时钟类 
class Clock{
	public:
		Clock(){  //无参构造函数实现-内联 
			hour=0;
			minute=0;
		}
		Clock(int newH,int newM){//构造函数
			hour=newH;  //在类里的 函数中写了内容(即函数实现),就属于隐式内联函数 
			minute=newM; 
		}
		Clock(Clock &c);//复制构造函数,类名(类名 &对象名); 
		int getH(){return hour;} //与上方 同理属于内联函数 
		int getM(){return minute;}
	private:
		int hour,minute;
}; 
//成员函数实现 
Clock::Clock(Clock &c){//复制构造函数的实现
//没有在类中实现函数,也没有显示声明inline,所以不是内联函数 
	hour=c.hour;
	minute=c.minute;
	cout<<"调用了构造函数的复
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值