怎样在一个类中实现枚举型成员变量

ltolll 2006-05-17 04:57:06
以下代码并不一定正确,只为体现程序意图
如,有两个枚举类型
enum rolename={dad,mam,son};
enum work={worker,teacher,doctor,actor};
class 家庭成员类
{
public: ...
private: ...
protected:
rolename cname;
work cwork;
}
两个问题:
1、类的实现代码怎么写?
2、想在程序中遍历所有“rolename”的各种“work”的组合,怎么做(我想是要用到类的实例数组(不知这个称呼对不对)和循环的,但不知怎么写)。
对第二个问题的说明:遍历需要循环,
第一个循环中,
生成第一个类为fm[0]它满足fm[0].rolename=dad;fm[0].work=worker;
第二个类为fm[1],它满足fm[1].rolename=mam;fm[1].work=teacher;
第三个类为fm[2],它满足fm[2].rolename=son;fm[2].work=doctor;
(我之所以写成数组的形式,是想体现出它们是一起存活和销毁的);
第二个循环中,
生成第一个类为fm[0].rolename=dad;fm[0].work=teacher;
第二个类为fm[1],它满足fm[1].rolename=mam;fm[1].work=doctor;
第三个类为fm[2],它满足fm[2].rolename=son;fm[2].work=actor;
(注意成员变量cwork都是父亲、母亲、儿子(也要用循环赋给,因为实际程序中可能有很多项需要枚举,不可能手工赋值),而三者的工作根据枚举类型work在变化);如此这般显然要经历4次循环将work(因为work里有4个枚举项)遍历一次。
...全文
697 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
ltolll 2006-06-24
  • 打赏
  • 举报
回复
找到了答案:
http://community.csdn.net/Expert/topic/4834/4834473.xml?temp=6.493777E-02
yeahspyme 2006-05-17
  • 打赏
  • 举报
回复
首先,你想在类成员以外访问枚举类型,就需要定义类型为public
class familymember {
public:
enum rolename {...};
enum work {...};
private:
rolename cname;
work cwork;
};
至于遍历,就是和循环int变量一样

64,637

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧