постоянная переменная c ++, определяемая пользователем - PullRequest
1 голос
/ 28 декабря 2011

Моя программа использует номер PI. Это должно быть постоянное значение const double PI = 3.14. Я хочу, чтобы пользователь программы мог определять эти константы во время инициализации класса. Например, один из них хочет 3.14, а другой 3.1416926. И после определения это должно быть постоянное значение, то есть во время программы никто не может его изменить Как я могу это реализовать?

Ответы [ 2 ]

6 голосов
/ 28 декабря 2011

Вы можете создать постоянную экземпляра константы, используя константный член:

class MyClass {
    MyClass(double pi): PI(pi) { ... }
    const double PI;
};

Каждый создатель объекта может указать значение PI для использования, которое является постоянным в течение срока службы этого объекта:

MyClass obj1(3.14);
MyClass obj2(3.1416926);
0 голосов
/ 28 декабря 2011

Поместите 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;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...