静的メソッドとして定義されたいくつかのユーティリティを持つクラスを使用しています。
QDate SSIMUtils::ConvertSSIMDate(QString s) {
QDate rtnDt;
//...conversion code
return rtnDt;
}
このクラスでいくつかの定数を定義したいと思います。LOW_DATEのようなものを入れることを考えていました
const static QDate LOW_DATE; // Need to set this somewhere to 1/1/1970
残念ながら、int などと言うようにプリコンパイル時に定義することはできません。
const static int SSIMUtils::myI = 4;
setDate メソッドを使用する必要があるためです。
私の質問は、定数には初期化が必要なため、コードごとに設定する必要がある静的な const をどのように定義すればよいかということです。たとえば、.hファイルで定義することを考えていました。
const static QDate LOW_DATE;
次に、.cppファイルの上部で、次のようなことを行います
SSIMUtils::LOW_DATE.setDate(1970,1,1);
しかし、これは構文的に正しくありません。私が最終的にやりたいのは、この定数を他のクラスで使用することです。
if (myQDate.compare(SSIMUtils::LOW_DATE)==0) {
// do something.
}
実行時に調整する必要がある静的クラスで定数値を設定する正しい方法は何ですか? コンストラクタのような?