C++中的拷贝构造函数,请帮我看看下面不懂的地方

来源:百度知道 编辑:UC知道 时间:2024/07/04 07:37:24
class Actor
{
private:
string _name;//姓名
bool _denger;//性别
Weapon _weapon;//佩带武器
public:
Actor(string name,bool gender);
Actor(const Actor & actor);//这里不懂
~Actor;
};

Actor::Actor(const Actor & actor)
{
cout<<actor._name<<"的克隆出现..."<<endl;
_name=actor._name+"之克隆";
_gender=actor._gender;
}

就上面这个,不懂,说是拷贝函数,请帮我讲讲,讲得明白给追加分的

http://baike.baidu.com/view/1266959.htm

一般每个类都有一个构造函数,跟类名是相同的,这个我不知道怎么说,你得好好多看几遍书,因为看一遍是不懂的

一般拷贝的构造函数他的参数是他自己的类型

比如上面的离子
class Actor
{
private:
string _name;//姓名
bool _denger;//性别
Weapon _weapon;//佩带武器
public:
Actor(string name,bool gender);
Actor(const Actor & actor);//拷贝构造函数
~Actor;
};

Actor::Actor(const Actor & actor)
{
cout<<actor._name<<"的克隆出现..."<<endl;
_name=actor._name+"之克隆";
_gender=actor._gender;
}

具体应用大致如下:
Actor Actor_player1, Actor_player2;

然后通过构造函数给Actor_player1赋值;
string names = "daniel";
Actor_player1(names,gender);

然后使用拷贝构造函数使Actor_player2的值跟Actor_player1一样
Actor_player2(Actor_player1);

输出Actor_player1的时候就是出现姓名为:daniel,性别:gender的资