C++拷贝构造函数

(“拷贝构造函数”)是一种特殊的构造函数。“拷贝构造函数”是一种名称;它有以下特点;

1、函数的名称必须和类名称一致。

2、它有唯一的一个参数,该参数是const类型,不可变的。

例如:类Cstudent的"拷贝构造函数"的形式为Cstudent(const Cstudent &x)。这个x是个任意符号,尊守变量命名原则;

下面用例子说明;

#include "stdafx.h"

#include <iostream>


using namespace std;
class Test
{
private:
	int a, b;

public:
	Test() {}                  // 定义无参数的构造函数
	Test(int a, int b) {}      // 定义带参数的构造函数
	Test(const Test &mynew);    //声明“拷贝构造函数”,在类外面定义;

public:
	void init(int _a, int _b)  //用来初始化的函数
	{
		a = _a;
		b = _b;
	}
	void prt()                 //输出结果的输出函数;
	{
     cout<<a<<"and"<<b<<endl;
	}
};
Test::Test(const Test &mynew)   //定义“拷贝构造函数”mynew可以任何字符;
{
 a=mynew.a;                     //过程,把旧的实体内容传给新的实体;
 b=mynew.b;
 
}


int _tmain(int argc, _TCHAR* argv[])


{
		Test a1;          //定义新的类实体a1;
		a1.init(4,5);     //给a1内的元素赋值,按照顺序,4给啊a5给b;
		Test a2 = a1;     // 把 a1 元素的值拷贝给 a2
		Test a3(a1);      // 这样写也是把 a1 元素的值拷贝给 a3 ,两种方式都行;
		a3.prt();          //输出a3的内容看看拷贝进去了吗?
		
	
	
	return 0;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值