说到常量,我们会想到用const限定,但这并不能达到预期的效果,没建立一个对象,可以对这个常量进行初始化。显然,这个常量成为了每一个对象中的常量,而不是这个类的常量。为此,可以通过两种方法建立类中的常量,即每一个对象都拥有这个相同的常量值。
第一种:通过enum关键字枚举
#include<iostream>
class test
{
enum{num=10};
int* p;
public:
test() :p(new int[num]) {}
~test() { delete[]p; p = nullptr; }
int size()
{
return num;
}
};
int main()
{
test t;
std::cout << t.size();
}
第二种:通过静态常量static const
#include<iostream>
class test
{
static const int num = 10;
int* p;
public:
test() :p(new int[num]) {}
~test() { delete[]p; p = nullptr; }
int size()
{
return num;
}
};
int main()
{
test t;
std::cout << t.size();
}