1

protected次のように、静的クラス関数を持つコードに出くわしました。

class C {
...

    protected:
        static int fun() { ... }
};

静的クラス関数がアクセス修飾子を持つことができるかどうかに興味がありましたが、それはどういう意味ですか? それらはクラス グローバルであり、事前インスタンスではないためです。

ありがとう、ボダ・シド。

4

3 に答える 3

1

C++ のアクセス修飾子は、インスタンスごとには機能しません。それらは常にクラスごとに機能します。それがいつものやり方です。これにより、それらを静的メンバーにも適用することが完全に論理的になります。

C++ でのアクセス保護がインスタンスごとに何らかの形で機能するはずであるというのは、かなり一般的な誤解であり、それがあなたの質問にも影響を与えたようです。

于 2010-07-05T02:08:41.693 に答える
0

それは依然として同じ目的を果たします: 派生クラスだけがその静的関数を呼び出すことができます。

于 2010-07-05T02:03:47.570 に答える
0

これは、保護されていることを意味します。静的関数は、そのクラスの他のメンバー関数または派生クラスのメンバー関数からアクセスできます。

于 2010-07-05T02:08:00.493 に答える