/************************************************************************/
/* 类的组合的应用 */
/************************************************************************/
#include <iostream>
#include <string>
using namespace std;
class Weapon
{
private:
string weapon_name;
int _power;
public:
void show();
void setname(string weapon_name,int power);
};
void Weapon::setname(string weapon_name,int power)
{
this->weapon_name=weapon_name;
this->_power=power;
}
void Weapon::show()
{
cout<<weapon_name<<"威力:"<<_power<<endl;
}
/************************************************************************/
/* 定义角色类 */
/************************************************************************/
class Actor
{
private:
string _Actor_name;
bool _gender;
Weapon _Weapon;
public:
void setname(string actor_name,bool gender);
void setweapon(Weapon &weapon);
void say()
{
cout<<"我乃"<<_Actor_name<<endl;
}
void showweapon();
};
void Actor::setname(string actor_name,bool gender)
{
this->_Actor_name=actor_name;
this->_gender=gender;
}
void Actor::setweapon(Weapon &weapon)
{
_Weapon=weapon;
}
void Actor::showweapon()
{
cout<<"佩戴兵器";
_Weapon.show();
}
int main()
{
Actor tang;
tang.setname("唐三藏",true);
Weapon weapon;
weapon.setname("九杖漆环",20);
tang.setweapon(weapon);
tang.say();
tang.showweapon();
return 0;
}