csdn_LYY 2014-10-30 14:16 采纳率: 0%
浏览 2092

有一些C++的程序代码看不懂

#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的初始化看不懂,求教,怎么会是那种形式呢?求详细解释,谢了

  • 写回答

2条回答

  • Eleven 2015-01-04 08:56
    关注

    一个是枚举,一个是联合。
    请参考:http://blog.csdn.net/lvsmaster/article/details/5839005

    评论

报告相同问题?

悬赏问题

  • ¥20 sub地址DHCP问题
  • ¥15 delta降尺度计算的一些细节,有偿
  • ¥15 Arduino红外遥控代码有问题
  • ¥15 数值计算离散正交多项式
  • ¥30 数值计算均差系数编程
  • ¥15 redis-full-check比较 两个集群的数据出错
  • ¥15 Matlab编程问题
  • ¥15 训练的多模态特征融合模型准确度很低怎么办
  • ¥15 kylin启动报错log4j类冲突
  • ¥15 超声波模块测距控制点灯,灯的闪烁很不稳定,经过调试发现测的距离偏大