欢迎使用本站,预祝练习时长两年半的选手们到成功! [本模块信息来自tem/def/head]

class09 mfy

时间:2024-06-15 19:45 作者:admin 点击:
c++中只包含了基本数据类型以及string,但是有些数据无法表示 如:王者荣耀的英雄 制作英雄类:1、属性,2、功能 1、名字,生命值,魔法值,暴击概率 2、说话,攻击敌人 struct 类型名

c++中只包含了基本数据类型以及string,但是有些数据无法表示

如:王者荣耀的英雄

制作英雄类:1、属性,2、功能

1、名字,生命值,魔法值,暴击概率

2、说话,攻击敌人


struct 类型名{

   创建属性(创建变量)

   创建功能(创建函数)

};

struct Hero{

   string name;

   int b;

   int m;

   double bj;

   void speak(){

       cout<<"嘿小鬼";

   }

   void att(Hero b){

       cout<<name<<"攻击了"<<b.name;

   }

};


创造类型:

struct 结构体 权限默认全是公有的,所以可以通过变量名在主函数中调用里面的属性和行为

公有public > 保护protected > 私有private

class 类 权限默认全是私有的,只能在类内调用

class与struct 的语法完全相同,但是需要提前设置权限

class stu{

   public:

   string name;

   int age;

   int m,y,e;

};

struct stu{

   string name;

   int age;

   int m,y,e;

};

完全相同

class stu{

   string name;

   int age;

   int m,y,e;

};

struct stu{

   private:

   string name;

   int age;

   int m,y,e;

};

完全相同


class stu{

   private:

   string name;//封装,保护数据

   public:

   void setname(string a){

       name = a;

   }

   string getname(){

       return name;

   }

};

int main(){

   stu s;

   string n;

   cin>>n;

   s.setname(n);

   cout<<s.getname();

}


union 联合体

union 类名{

   属性1;

   属性2;

};

多人穿一条裤子

union stu{

   string name;

   int id;

   int age;

};

int main(){

   stu s;

   cin>>s.name;//hello 空间存的就是hello

   cout<<s.id;//hello

   cout<<s.age;//hello

   cin>>s.id;//98765 空间存放的就是98765,hello被顶掉

   cout<<s.name;//98765

}

展示一段union代码,问占用空间多大

union a{

   int a;

   double b;

   char c;

};

a e;//问e占用多大空间(多少字节),以最大单个变量为准(选穿裤子最胖那个)

(责任编辑:admin)
    顶一下
    (0)
    0%
    踩一下
    (0)
    0%