应该没问题。
那样定义会出错。如redefinition的错误。你可以尝试一下在机器上运行。其中A-里面机器将A和-分开来处理的,所以阿A-不是一个整体。
非法字母,数字,下划线,是最通用,基本的标识符用的字符这样做人家会搞不懂的,当然,你可以这样来实现这个功能,见文知义enum _grade {ADOWN,AUP,BDOWN,BDOWN,...} grade;使用是可以这样grade studentgrade;switch(studentgrade){case ADOWN: cout<<"A-"<<endl; break;case AUP: COUT<<"A+"<<endl;......}