我的程序使用數字PI。它應該是不變的值const double PI = 3.14
。我希望程序的用戶可以在類的初始化過程中定義這個常量。例如,其中一個需要3.14和另一個3.1416926。並且在定義之後它應該是恆定的值,即在程序期間沒有人可以改變它。我怎樣才能實現它?由用戶定義的C++常量變量
1
A
回答
6
可以使用常量成員創建以每個實例常數:
class MyClass {
MyClass(double pi): PI(pi) { ... }
const double PI;
};
每個對象創建我指定PI
值來使用,這是該對象的生存期內保持不變:
MyClass obj1(3.14);
MyClass obj2(3.1416926);
-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;
}
+0
這不允許多個pi的值,這就是OP之後的情況。 – 2011-12-28 18:29:28
相關問題
- 1. 用戶定義變量的C++程序
- 2. 如何爲linux用戶帳戶定義變量和常量?
- 3. 用變量定義類常量
- 4. MySql用戶定義變量
- 5. 從變量變量調用已定義的常量
- 6. 如何在C++中定義最終變量(可變常量)?
- 7. 預定義變量常規
- 8. 用戶定義的常量從文件
- 9. 將常量定義爲變量
- 10. Objective C定義UIColor常量
- 11. 定義常量和Objective-C
- 12. 定義常量使用可變的eval()
- 13. 解決由用戶定義的變量等式
- 14. 未定義的變量:用戶
- 15. 用戶定義的變量空
- 16. 未定義的變量:用戶
- 17. iMacros:用戶定義的變量!COLn?
- 18. 查詢中的用戶定義變量
- 19. MySQL用戶定義的變量列表
- 20. PostgreSQL中的用戶自定義變量
- 21. 列出用戶定義的變量,python
- 22. MySQL用戶定義的變量和COUNT
- 23. 在C++中定義靜態常量變量
- 24. 刪除用戶定義的向量 - C++
- 25. C++用戶定義的向量
- 26. C/C++改變定義一個變量
- 27. LDNS:未定義的變量引用(C++)
- 28. 由變量定義的PHP會話變量
- 29. 定義常量
- 30. 在Obj-C中用用戶名定義全局常量
「3.1416926」 π是一個相當差的近似。 – 2011-12-28 18:21:53
你可以使用'constexpr'嗎? – tenfour 2011-12-28 18:21:53
或者,如果您的編譯器支持它,您可以使用'M_PI',因爲pi是一個具有明確定義的常量。 – 2011-12-28 18:28:01