#5.8.2#--联合体(例4-8).pdf
《#5.8.2#--联合体(例4-8).pdf》由会员分享,可在线阅读,更多相关《#5.8.2#--联合体(例4-8).pdf(2页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、联合体声明形式声明形式union 联合体名称 公有成员protected:保护型成员private:私有成员;特点特点成员共用同一组内存单元任何两个成员不会同时有效联合体的内存分配联合体的内存分配举例说明:union Mark /表示成绩的联合体 char grade;/等级制的成绩 bool pass;/只记是否通过课程的成绩 int percent;/百分制的成绩;object Object无名联合无名联合例:union int i;float f;在程序中可以这样使用:i=10;f=2.2;例例4-8使用联合体保存成绩信息,并且输出。使用联合体保存成绩信息,并且输出。#include u
2、sing namespace std;class ExamInfo private:string name;/课程名称 enum GRADE,PASS,PERCENTAGE mode;/计分方式 union char grade;/等级制的成绩 bool pass;/只记是否通过课程的成绩 int percent;/百分制的成绩;public:/三种构造函数,分别用等级、是否通过和百分初始化 ExamInfo(string name,char grade):name(name),mode(GRADE),grade(grade)ExamInfo(string name,bool pass):na
3、me(name),mode(PASS),pass(pass)ExamInfo(string name,int percent):name(name),mode(PERCENTAGE),percent(percent)void show();1void 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;运行结果:English:BCalculus:PASSC+Programming:852
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 5.8 联合体
限制150内