类中常量定义及其正确使用:Python Tkinter 中按钮事件的示例

类中的常量有时只应在类内有效。由于 #define 宏定义的常量是全局的,不符合要求,因此可以考虑使用 const 数据成员。然而,const 数据成员的作用范围仅限于对象的生命周期,而非整个类,因此在不同对象中可能具有不同的值。const 数据成员不能在类声明中初始化,初始化应在构造函数的初始化列表中进行。例如:

class A {
public:
    A(int size);
    const int SIZE;
private:
    int array[SIZE];
};

A::A(int size) : SIZE(size) {}

A a(100); // 对象a的SIZE为100
A b(200); // 对象b的SIZE为200

如果需要在整个类中保持不变的常量,应该使用枚举常量。例如:

class A {
public:
    enum { SIZE1 = 100, SIZE2 = 200 };
private:
    int array1[SIZE1];
};
pdf 文件大小:561.6KB