我有一个抽象基类,这是用于导出一些类。 这些类的一些性质各阶层共享,而这些应该是不可修改的。
为了让所有10班,我会让它静态共享的变量。
class ABC{
public:
static int *anArray;
int index;
static int tot_index;
virtual void print()=0;
ABC(){index=tot_index++;};
virtual ~ABC(){};
};
这工作得很好,tot_index将包含实例化类的数量,并且该指数为每个类的独特indentifier。
我的问题是,* anArray和派生类的数量在运行时设置和课程都被实例化后,我不想改变这些值。
我升技不解:
1)我应该在哪里设置* anArray价值? 只是在一些随机派生类的吗?
2)如果变量应该是不可修改的,那么我应该将其设置为const。 但是,如果我不知道这个值是在编译的时候是什么,我该如何设置它为const?