ヘッダーファイルにこれがあるとします:
class A
{
private:
static const double x;
public:
A(double given_x);
};
class B
{
private:
static const double x;
class A;
public:
B(double x_given);
};
また、初期化中にクラス A の static const データ メンバーを初期化する必要があります。BクラスのコンストラクタからAクラスにイニシャライザリスト付き
の変数を渡せばいいと思っていたのですが、どうやら間違っているようです。x_given
これはどのように行うことができますか?
また、両方のクラスが同じデータメンバーを持つ必要がある場合もあります。
編集 #1: const 変数を宣言して、クラス メンバー関数のどこでも変更されないようにする必要があります。ただし、この値は構築時に指定されます。