c++使用联合体保存成绩,并且输出

来源:互联网 发布:zip解压缩软件 编辑:程序博客网 时间:2024/06/10 20:09
#include<string>#include<iostream>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;}            

原创粉丝点击