注册 登录
编程论坛 C++教室

疑问,关于类

有敌手 发布于 2008-03-09 17:12, 892 次点击
#include<iostream>
#include<string>
using namespace std;
///////////////////////武器类///////////////////////////
class Weapon{
      private:
              string _name;
              int _power;
      public:
             void show();
             void setname(string name,int power);
             };
void Weapon::setname(string name,int power)
{ _name=name;
  _power=power;
}

void Weapon::show()
{ cout<<_name<<" 威力:"<<_power<<endl;}

////////////////////////人物类/////////////////////////////
class actor{
      private:
              string _name;
              bool _sex;
              Weapon _weapon;
      public:
             void say();
             void setname(string name,bool sex);
             void setweapon(Weapon &weapon);
             void showweapon();};
            
void actor::say()
{cout<<"我乃"<<_name<<"是也"<<endl;}

void  actor::setname(string name,bool sex)
{ _name=name;
  _sex=sex;}
  
void actor::setweapon(Weapon &weapon)
{_weapon=weapon;}

void actor::showweapon()
{cout<<"佩戴兵器:";
  _weapon.show();}      
////////////////////////主函数//////////////////////////
int main()
{actor tang;
 tang.setname("唐三藏",true);
 tang.say();
 Weapon weapon;
 weapon.setname("九环锡杖",200);
tang.showweapon();
 weapon.show();

 system("pause");
 return 0;}
-----------
主要加红的那点
我的输出结果是
3 回复
#2
lonmaor2008-03-09 17:15
楼主要编mud?
#3
rocketabc2008-03-09 20:07
#include<iostream>
#include<string>
using namespace std;
///////////////////////武器类///////////////////////////
class Weapon{
      private:
              string _name;
              int _power;
      public:
             void show();
             void setname(string name,int power);
             };
void Weapon::setname(string name,int power)
{ _name=name;
  _power=power;
}

void Weapon::show()
{ cout<<_name<<" 威力:"<<_power<<endl;}

////////////////////////人物类/////////////////////////////
class actor{
      private:
              string _name;
              bool _sex;
              Weapon _weapon;
      public:
             void say();
             void setname(string name,bool sex);
             void setweapon(Weapon &weapon);
             void showweapon();};
            
void actor::say()
{cout<<"我乃"<<_name<<"是也"<<endl;}

void  actor::setname(string name,bool sex)
{ _name=name;
  _sex=sex;}
  
void actor::setweapon(Weapon &weapon)
{_weapon=weapon;}

void actor::showweapon()
{cout<<"佩戴兵器:";
 // _weapon.show();
}      
////////////////////////主函数//////////////////////////
int main()
{actor tang;
tang.setname("唐三藏",true);
tang.say();
Weapon weapon;
weapon.setname("九环锡杖",200);
tang.showweapon();
weapon.show();
system("pause");
return 0;}
#4
fbird2008-03-09 20:23
tang中的_weapon都没有被赋值
1