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

时间:2011-12-28 18:18:27

标签: c++ math

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

2 个答案:

答案 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;
}
相关问题