类与对象3

#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,
PERCNETANGE
}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":"FAIL");
break;
case PERCENTAGE:
cout<<percent;
break;
}
cout<<endl;
}
int main()
{
ExamInfo course1("English",'B');
ExamInfo course2("Calculus",true);
ExamInfo course3("C++Programming",85);
course1.show();
course2.show();
course3.show();
return 0;
}

posted @   不会JAVA的小袁  阅读(19)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
点击右上角即可分享
微信分享提示