C++中一个关于“枚举”的问题,请指教下,谢谢了哈!
程序代码是:#include<iostream>usingnamespacestd;enumgame_result{WIN,LOSE,TIE,CANCEL};intmai...
程序代码是:
#include<iostream>
using namespace std;
enum game_result {WIN,LOSE,TIE,CANCEL};
int main()
{
game_result result;
game_result omit = CANCEL;
int count;
for(count=WIN;count<=CANCEL;count++)
{
result = (game_result)count;
if(result == omit)
{
cout<<"比赛取消\n";
}
else
{
cout<<"比赛进行了";
if(result == WIN)
cout<<",我们赢了";
if(result == LOSE)
cout<<",我们输了";
cout<<"\n";
}
}
system("pause>null");
}
其中,在第11行的这句“result = (game_result)count;”请问下,为什么game_result要加个括号呢?我不加括号运行了下,就报错的...我用的是Dev-C++。
我是新手,请指教下哈!谢谢了哈! 展开
#include<iostream>
using namespace std;
enum game_result {WIN,LOSE,TIE,CANCEL};
int main()
{
game_result result;
game_result omit = CANCEL;
int count;
for(count=WIN;count<=CANCEL;count++)
{
result = (game_result)count;
if(result == omit)
{
cout<<"比赛取消\n";
}
else
{
cout<<"比赛进行了";
if(result == WIN)
cout<<",我们赢了";
if(result == LOSE)
cout<<",我们输了";
cout<<"\n";
}
}
system("pause>null");
}
其中,在第11行的这句“result = (game_result)count;”请问下,为什么game_result要加个括号呢?我不加括号运行了下,就报错的...我用的是Dev-C++。
我是新手,请指教下哈!谢谢了哈! 展开
5个回答
展开全部
这个不是与枚举有关的知识
game_result 是一个枚举的类型
这是把int型的count变量转换成枚举类型
double b;
int a=1;
b=(int)a;
与这个道理是一样的
当然也可以不这样写,这个是C式的写法,C++类型转换的写法是
result = game_result(count),它与result = (game_result)count是等效的
同理,b=(int)a也可以写成b=int(a)
game_result 是一个枚举的类型
这是把int型的count变量转换成枚举类型
double b;
int a=1;
b=(int)a;
与这个道理是一样的
当然也可以不这样写,这个是C式的写法,C++类型转换的写法是
result = game_result(count),它与result = (game_result)count是等效的
同理,b=(int)a也可以写成b=int(a)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
result = (game_result)count;
强制类型转换
简单的例子;
float a=10.1;
int b=(int)a;
强制类型转换
简单的例子;
float a=10.1;
int b=(int)a;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这个是强制转换的意思,count本来是整形,通过那个转化为你自己定义的枚举类型,不然类型就不匹配,你如何将一个整形赋值给你自己定义的枚举类型呢?
公式:变量=(变量类型)变量; 这个很基本的啊。
公式:变量=(变量类型)变量; 这个很基本的啊。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
count是具体的0、1、2、3,前面加了一个 (game_result)是类型转换,result不是0、1、2、3这样的形式。
也可是把括号放在后面,即:result = game_result(count);
也可是把括号放在后面,即:result = game_result(count);
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询