0

次のクラスがあると想像してください。

class A
{
private:
static int m_a;
public:
A() {}
static int get_sum(int b);
};

int A::m_a = 5;

int A::get_sum(int b)
{
return m_a + b;
}

int main() {
    // your code goes here
    A a;
    int c = a.get_sum(10);
    cout << "C=: " << c << endl;
    return 0;
}

上記のコードでは、パブリックの静的メンバー関数 get_sum() を呼び出す 1 つのプライベートの静的メンバー変数を含むクラスがあります。ここで質問: "this" ポインターを持たない関数は、クラス メンバー変数 m_a にどのようにアクセスできますか? リップマンの本で、私はそれを読んだ:

(( Point3d* ) 0 )->object_count();

whereは、 静的データ メンバーobject_count()を返すだけです。_object_countこのイディオムはどのように進化しましたか? ...................
................................... ...........
//呼び出しの内部変換

object_count(( Point3d* ) 0 );

言語ソリューションは、公式の cfront リリース 2.0 内に静的メンバー関数を導入することでした。this静的メンバー関数の主な特徴は、ポインターがないことです。

0 をクラス型 object にキャストする方法がわかりませんか?

4

1 に答える 1