C++中枚举类型的使用???

我怎样才能在函数:checkTriangleType中使用我定义的枚举类型啊??怎样写checkTriangleType的实现。不需要算法,只需要使用枚举类型的语法。谢谢... 我怎样才能在函数:checkTriangleType 中使用我定义的枚举类型啊??怎样写checkTriangleType的实现。不需要算法,只需要使用枚举类型的语法。
谢谢
template<class Type = int>
class lMath
{
public:
enum TRIANGLE_TYPE
{
TRIANGLE_ACUTE = 0, // 锐角三角形
TRIANGLE_RIGHT = TRIANGLE_ACUTE + 1, // 直角三角形
TRIANGLE_OBTUSE = TRIANGLE_RIGHT + 1, // 钝角三角形
};
// 检查一个三角形的类型
static TRIANGLE_TYPE checkTriangleType(Type _a, Type _b, Type _c);
};
展开
 我来答
_whales
2013-01-29 · TA获得超过2279个赞
知道大有可为答主
回答量:1814
采纳率:85%
帮助的人:495万
展开全部
template<class Type = int>
class lMath
{
public:
enum TRIANGLE_TYPE
{
TRIANGLE_ACUTE = 0, // 锐角三角形
TRIANGLE_RIGHT = TRIANGLE_ACUTE + 1, // 直角三角形
TRIANGLE_OBTUSE = TRIANGLE_RIGHT + 1, // 钝角三角形
};
// 检查一个三角形的类型

static TRIANGLE_TYPE checkTriangleType(Type _a, Type _b, Type _c){
if(a*a+b*b==c*c || a*a+c*c==b*b || b*b+c*c==a*a )

return TRIANGLE_RIGHT;//使用枚举类型常量

if(a*a+b*b>c*c && a*a+c*c>b*b || b*b+c*c>a*a)
return TRIANGLE_ACUTE;//使用枚举类型常量
return TRIANGLE_OBTUSE;//使用枚举类型常量
};
};

int main()
{
tepedef lMath<int> intMath; 如果不定义intMath类型,下面就直接使用 lMath<int> 替换 intMathintMath
int a,b,c;
scanf("%d,%d,%d",a,b,c);
intMath::TRIANGLE_TYPE //加作用域限定符,使用枚举类型
t=intMath::checkTriangleType(a,b,c); //加作用域限定符,使用类的静态方法
switch(t)
{
case intMath::TRIANGLE_ACUTE://加作用域限定符,使用枚举类型常量
printf("Acute Triangle");
break;
case intMath::TRIANGLE_RIGHT://加作用域限定符,使用枚举类型常量,不怕麻烦,加枚举名
printf("RT Triangle");
break;

default:
printf("Obtuse Triangle");
break;
}
return 0;
}
维多K
推荐于2016-07-09 · TA获得超过413个赞
知道小有建树答主
回答量:169
采纳率:0%
帮助的人:176万
展开全部
直接声明一个该枚举类型的变量即可,跟其他类型的变量一样啊!

例如:
TRIANGLE_TYPE object1 = TRIANGLE_ACUTE; // 声明一个该枚举类型的变量,并赋初值
追问
我如是写,有好多不明的错误,还望赐教!!
// 检查一个三角形的类型
template TRIANGLE_TYPE lMath::checkTriangleType(Type _a, Type _b, Type _c)
{
return TRIANGLE_TYPE::TRIANGLE_ACUTE;
}
追答
关于枚举类型的使用,方法就是这样的,你的错误应该是使用模板导致的,跟枚举类型无关。

如果你无法解决问题,请贴出你的详细错误信息。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
秒懂百科
2021-02-13 · TA获得超过5.9万个赞
知道大有可为答主
回答量:25.3万
采纳率:88%
帮助的人:1.2亿
展开全部

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式