Cony君的C++类学习的笔记(六)

本文探讨了拷贝构造函数的基本概念,包括其定义、作用及常见用法。通过Mode类的实例,展示了如何在创建新对象时利用拷贝构造函数进行值复制。特别强调了拷贝构造函数的const特性。适合初学者和进阶者了解构造函数的这一重要部分。
摘要由CSDN通过智能技术生成

前言

我希望我的文章能帮到看本篇blog的小可爱,可以提提自己的建议,一起讨论一起学习,毕竟第一次写这些,文章还欠缺许多东西。嘻嘻,Cony君先拜谢各位小小可爱啦

知识点

拷贝构造函数

我今天在补充一点关于构造函数的知识。我的失误。幸好,查资料的时候,我看到了。今天先讲拷贝构造函数。拷贝构造函数是特殊的构造函数。
拷贝构造函数是一种特殊的构造函数,它在创建对象时,是使用同一类中之前创建的对象来初始化新创建的对象。拷贝构造函数通常用于:

1.  通过使用另一个同类型的对象来初始化新创建的对象。  
2. 复制对象把它作为参数传递给函数。
3. 复制对象,并从函数返回这个对象。

拷贝构造函数都有其特殊形象。我们想想大神,他们在某个方面就比较特殊。我所喜爱的罗翔老师,讲课有趣,但是受伤的总是张三,因为张三是 “法外狂徒” 。这点还不是特殊,特殊的是罗老师的头感觉要绝顶了,这或许就是大佬该有的样子。这是何其特殊。那么拷贝构造函数特殊点,就是会传参数,并且参数有修饰限定词 const 。格式如下

classname (const classname &n ) { //引用
			//构造函数主体
}

来个例子,代码如下

#include <iostream>
#include <algorithm>
#include <cstring>
using namespace std;

const int N=1e4+10;

class Mode{
	public:
		Mode(int len);
		Mode(const Mode &ob);
		void get();
		~Mode();
	private:
		int *Ptr;
};

Mode::Mode(const Mode &ob){
	cout << "调用拷贝构造函数并为指针 Ptr 分配内存" << endl;
    Ptr = new int;//内存分配
    *Ptr = *ob.Ptr; // 拷贝值
}
Mode::Mode(int len){
	cout<<"普通的构造函数"<<endl;
	Ptr=new int;
	*Ptr=len;
}
void Mode::get(){
	cout<<*Ptr<<endl;
}
Mode::~Mode(){
	delete Ptr;
}
int main (){
	Mode mode(10);//普通构造
	mode.get();
	Mode mode1=mode;//拷贝构造函数的使用
	mode1.get();
	return 0;
}

总结

各位小可爱,来个关注吧。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值