C++里,类的静态常量成员为什么不能是浮点型?

有时候只是想像Java那样,在类中,定义一些static常量。像Java的话,直接可以在类中定义,如:publicstaticfinalfloatNUM=20f;但我发现... 有时候只是想像Java那样,在类中,定义一些static常量。像Java的话,直接可以在类中定义,如:public static final float NUM = 20f;
但我发现C++不行,只能定义int型常量,如:public static const int NUM = 10;但如果定义浮点型的常量就会报错,这是怎么回事?难道要定义成类的浮点型成员变量,这不很浪费吗?或者只能用#define?
展开
 我来答
笃侠6A
2014-08-11 · TA获得超过3734个赞
知道大有可为答主
回答量:3205
采纳率:75%
帮助的人:3269万
展开全部
C++里,类的静态常量成员浮点型、整型都是可以的,但在类中不能初始化。静态常量成员的初始化只能在类定义之外进行。例如:
class C{
//...
static const float y;
public:
//...
};

const float C::y=1.0f; //静态常量成员的初始化
//...
White_MouseYBZ
2014-08-11 · TA获得超过4万个赞
知道大有可为答主
回答量:2.1万
采纳率:82%
帮助的人:6665万
展开全部
不会的吧?试试这个——
//#include "stdafx.h"//vc++6.0加上这一行.
#include <iostream>
using namespace std;
class A{
public:
A(char t){ch=t;}
static const double pai;
static const int x;
char ch;
};
const double A::pai=3.1415926;
const int A::x=32767;
void main(void){
A a('0');
cout << a.pai << endl << a.x << endl << a.ch << endl;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
veket的小号
2014-08-11 · TA获得超过3371个赞
知道大有可为答主
回答量:3762
采纳率:0%
帮助的人:3996万
展开全部

显然你技术 还没 练到家

给你个vc6对话框 添加静态常成员 的例子 是 float型滴 实测OK

追问
我修炼到家的话,我还需要来这里提问????
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
XDU_北辰
2018-07-10
知道答主
回答量:3
采纳率:0%
帮助的人:2108
引用ppmm9999的回答:
C++里,类的静态常量成员浮点型、整型都是可以的,但在类中不能初始化。静态常量成员的初始化只能在类定义之外进行。例如:
class C{
//...
static const float y;
public:
//...
};

const float C::y=1.0f; //静态常量成员的初始化
//...
展开全部
态常量成员的初始化也可以在类内进行。建议答主去试一试
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式