クラスとは何ですか?オブジェクトとは何ですか?オブジェクト指向の C++ 言語学習では、クラスとオブジェクトの理解が言語学習全体の中核となる基礎となります。一般的な理解では、クラスは実際にはモデル、つまり変数の型であり、オブジェクトはこの型によって定義される特定の変数です。この文の int a と同様に、int はクラスに対応し、a はオブジェクトに対応します。これは誰にとっても簡単に理解できるはずですが、int は C++ の組み込み型であり、実際のクラスではないことに注意してください。
したがって、要約すると、クラスはオブジェクトの抽象化および一般化であり、オブジェクトはクラスの具体性およびインスタンスです。この文を理解してください。
では、C++ のクラスはどのようなものでしょうか?簡単に言うと、C++ のクラスは実際には関数を含む構造体です。 C++ クラスのメンバーには、C 言語の構造体のような基本変数を含めることができるため、前者はメンバー変数と呼ばれ、後者はメンバーメソッドと呼ばれます。
たとえば、次は C++クラス、student クラスを定義します。
classStudent{public:intnum;charname[100];intscore;intprint(){cout<<num<<<<name<<<<score;return0;}};
ご覧のとおり、この形式は C 言語の構造に非常に似ています。メンバーには変数と関数が含まれます。ここからは、それらを属性やメソッドと呼ぶことに慣れていきます。クラスには、メンバーのアクセス権を制御するアクセス制御属性であるpublicの他に、 privateとprotected の3 つのタイプがあるという事実に誰もが注意を払う必要があることに注意してください。その中で、プライベートはプライベートを意味します。これは、クラスのメンバーのみがアクセスでき、アクセス可能であることに加えて、最も閉鎖的な権限です。クラス内の独自のメンバーによって、そのサブクラスにもアクセスできます (サブクラスの概念については後で詳しく説明します)。また、パブリックに宣言されたメンバーは、クラスの任意のオブジェクトからアクセスでき、完全にパブリック データです。ここでは、単にそれを理解することができ、コードを試しながらそれを体験することができます。クラス定義の後にセミコロンがあることに注意してください。これを捨てないように注意してください。
さて、クラスの基本的な見た目を理解したところで、別の書き方を紹介します。クラス内にメンバ関数がたくさんある場合は、今見てきた書き方になります。したがって、C++ は別の記述方法もサポートしています。つまり、メンバー関数はクラス内で関数のプロトタイプを宣言し、クラスの外で関数本体を定義するだけです。この方法では、すべてのメンバー関数のリストを確認できます。クラスはディレクトリのようなもので、一目瞭然で、仕様がたくさんあります。
クラス内で関数プロトタイプを宣言する方法は、一般的な C 言語の関数プロトタイプ宣言と同じです。クラス外で関数を定義する方法は、クラス名に:: スコープ修飾子を追加する必要があります。例として、クラスの外で定義されたコードは次のとおりです。
classStudent{public:intnum;//学生番号 charname[100];//名前 intscore;//スコア intprint();//クラス内で print 関数を宣言する}; intStudent::print()//クラスの外で完全に定義するクラス印刷関数 {cout<<num<<<<name<<<<score;return0;}
print 関数がクラスで宣言された後、関数ヘッダーの戻り値と関数名の間に、関数がどのクラスに属しているかを示すためにクラス名と :: が使用されることに注意してください。
上記 2 つの使い方をよく理解してから、自分で理解して状況に応じてコンピュータを使用してください。