用户定义的c ++常量变量

ash*_*him 1 c++ math

我的程序使用数字PI.它应该是恒定的价值const double PI = 3.14.我希望程序的用户可以在类的初始化期间定义此常量.例如,其中一个想要3.14而另一个想要3.1416926.并且在定义之后它应该是恒定值,即在程序期间没有人可以改变它.我该如何实现它?

Gre*_*ill 6

您可以使用常量成员创建每个实例常量:

class MyClass {
    MyClass(double pi): PI(pi) { ... }
    const double PI;
};
Run Code Online (Sandbox Code Playgroud)

每个对象创建者都指定PI要使用的值,该值对于该对象的生命周期是常量:

MyClass obj1(3.14);
MyClass obj2(3.1416926);
Run Code Online (Sandbox Code Playgroud)