我的程序使用数字PI。它应该是常量值const double PI = 3.14
。我希望程序的用户可以在类的初始化期间定义此常量。例如,其中一个想要3.14而另一个想要3.1416926。并且在定义之后它应该是恒定值,即在程序期间没有人可以改变它。我该如何实施呢?
答案 0 :(得分:6)
您可以使用常量成员创建per 实例常量:
class MyClass {
MyClass(double pi): PI(pi) { ... }
const double PI;
};
每个对象创建者指定要使用的值PI
,该值在该对象的生命周期内是常量:
MyClass obj1(3.14);
MyClass obj2(3.1416926);
答案 1 :(得分:-1)
将const double PI = 3.141592653589793238462643383279502884197169399375105820974944
放入.h
头文件中,并将其包含在.cpp
文件中。
或者你会得到那个错误。
<强> pi.h 强>
const double PI = 3.141592653589793238462643383279502884197169399375105820974944;
<强> Pi.cpp 强>
#include <iostream>
#include "pi.h"
using namespace std;
class Pi_Class
{
public:
double m_PI;
Pi_Class()
{
cout<<PI<<" \n";
}
Pi_Class(double fPI )
{
m_PI=fPI;
cout<<m_PI<<" \n";
}
};
int main()
{
Pi_Class Pi_one(3.141);
Pi_Class Pi_two(3.1415926535);
Pi_Class Pi_thr(3.141592653589793238462643383279502884197169399375105820974944 );
return 0;
}