C++里,类的静态常量成员为什么不能是浮点型?
有时候只是想像Java那样,在类中,定义一些static常量。像Java的话,直接可以在类中定义,如:publicstaticfinalfloatNUM=20f;但我发现...
有时候只是想像Java那样,在类中,定义一些static常量。像Java的话,直接可以在类中定义,如:public static final float NUM = 20f;
但我发现C++不行,只能定义int型常量,如:public static const int NUM = 10;但如果定义浮点型的常量就会报错,这是怎么回事?难道要定义成类的浮点型成员变量,这不很浪费吗?或者只能用#define? 展开
但我发现C++不行,只能定义int型常量,如:public static const int NUM = 10;但如果定义浮点型的常量就会报错,这是怎么回事?难道要定义成类的浮点型成员变量,这不很浪费吗?或者只能用#define? 展开
展开全部
不会的吧?试试这个——
//#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;
}
//#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;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
显然你技术 还没 练到家
给你个vc6对话框 添加静态常成员 的例子 是 float型滴 实测OK
追问
我修炼到家的话,我还需要来这里提问????
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
引用ppmm9999的回答:
C++里,类的静态常量成员浮点型、整型都是可以的,但在类中不能初始化。静态常量成员的初始化只能在类定义之外进行。例如:
class C{
//...
static const float y;
public:
//...
};
const float C::y=1.0f; //静态常量成员的初始化
//...
C++里,类的静态常量成员浮点型、整型都是可以的,但在类中不能初始化。静态常量成员的初始化只能在类定义之外进行。例如:
class C{
//...
static const float y;
public:
//...
};
const float C::y=1.0f; //静态常量成员的初始化
//...
展开全部
态常量成员的初始化也可以在类内进行。建议答主去试一试
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询