#include
#include
using namespace std;
class Examinfo{
public:
Examinfo(string name,char grade):name(name),mode(GRADE),grade(grade){}
Examinfo(string name,bool pass):name(name),mode(PASS),pass(pass){}
Examinfo(string name,int percent):name(name),mode(PERCENTAGE),percent(percent){}
void show();
private:
string name;
enum{
GRADE,
PASS,
PERCENTAGE
}mode;
union{
char grade ;
bool pass;
int percent ;
};
};
void Examinfo::show(){
cout<<name<<":";
switch(mode){
case GRADE:cout<<grade;
break;
case PASS: cout<<(pass?"pass":"FALL");break;
case PERCENTAGE: cout<<percent;break;
}
cout<<endl;
}
int main()
{
Examinfo course1("english",'b');
Examinfo course2("calcus",true);
Examinfo course3("c++ programming",85);
course1.show();
course2.show();
course3.show();
return 0;
}
程序中的enum和union的初始化看不懂,求教,怎么会是那种形式呢?求详细解释,谢了
有一些C++的程序代码看不懂
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
2条回答 默认 最新
- Eleven 2015-01-04 08:56关注
一个是枚举,一个是联合。
请参考:http://blog.csdn.net/lvsmaster/article/details/5839005解决 无用评论 打赏 举报
悬赏问题
- ¥30 python代码,帮调试
- ¥15 #MATLAB仿真#车辆换道路径规划
- ¥15 java 操作 elasticsearch 8.1 实现 索引的重建
- ¥15 数据可视化Python
- ¥15 要给毕业设计添加扫码登录的功能!!有偿
- ¥15 kafka 分区副本增加会导致消息丢失或者不可用吗?
- ¥15 微信公众号自制会员卡没有收款渠道啊
- ¥100 Jenkins自动化部署—悬赏100元
- ¥15 关于#python#的问题:求帮写python代码
- ¥20 MATLAB画图图形出现上下震荡的线条