C ++
 Computer >> コンピューター >  >> プログラミング >> C ++

C ++の前方宣言とは何ですか?


前方宣言により、宣言に続くコードは、Personという名前のクラスがあることを認識できます。これは、これらの名前が使用されていることを確認すると、コンパイラーを満足させます。後でリンカはクラスの定義を見つけます。

Class Person;

void myFunc(Person p1) {
   // ...
}
Class Person {
   // Class definition here
};

したがって、この場合、コンパイラーがmyFuncに遭遇すると、コードのどこかでこのクラスに遭遇することがわかります。これは、クラスを使用するコードが、クラス定義を含むコードの前に配置/含まれる場合に使用できます。


  1. C ++のアクセス修飾子とは何ですか?

    データの非表示は、オブジェクト指向プログラミングの重要な機能の1つであり、プログラムの機能がクラス型の内部表現に直接アクセスするのを防ぐことができます。クラスメンバーへのアクセス制限は、ラベル付けされたアクセス修飾子(クラス本体内のパブリック、プライベート、および保護されたセクション)によって指定されます。 メンバーとクラスのデフォルトのアクセスはプライベートです class Base {    public:       // public members go here       protected: &n

  2. C ++の変数のストレージクラスとは何ですか?

    ストレージクラスは、C ++プログラム内の変数や関数のスコープ(可視性)と存続期間を定義します。これらの指定子は、変更するタイプの前にあります。 C++プログラムで使用できる次のストレージクラスがあります。 自動 登録 静的 外部 可変 Cでは、自動ストレージクラス指定子を使用すると、自動ストレージを使用して変数を明示的に宣言できます。自動ストレージクラスは、ブロック内で宣言された変数のデフォルトです。自動ストレージを持つ変数xは、xが宣言されたブロックが終了すると削除されます。 自動ストレージクラス指定子は、ブロックで宣言された変数の名前または関数パラメーターの名前にのみ適用できます