C ++ C言語に基づいて、オブジェクト指向プログラミング、C ++をサポートするオブジェクト指向プログラミングを追加します。C ++クラスは、多くの場合、ユーザ定義型と呼ばれる、コア機能。
クラスは、指定されたオブジェクトの形式、データ表現のための方法をデータ処理を含む方法において使用されます。クラスデータのクラスのメンバーとメソッドが呼び出されます。関数は、クラスのクラスメンバーと呼ばれます。
クラス定義は、キーワードに基づいて、クラス名クラスに続いて、で始まります。クラスの本体は、中括弧のペアに含まれています。クラス定義の後にセミコロンまたはクレームのリストを続けなければなりません。 キークラスは:として、以下、ボックスデータ型を定義する クラスボックス { パブリック: ダブル ;長 // ボックス長 ダブル幅; // ボックスの幅 ダブル高さ; // ボックスの高さ ;} キーワード公衆クラスメンバーを決定しますプロパティへのアクセス。クラスオブジェクトのスコープでは、クラス外の公共のメンバーがアクセス可能です。
C ++定義オブジェクト クラスはとても基本的に、オブジェクトはクラスに基づいて作成されたオブジェクトのための青写真を提供します。Objectクラスの宣言は、変数として同じの基本的なタイプを宣言しました。次の文は、クラスボックスの二つのオブジェクトを宣言し 、ボックスBOX1 //は、BOX1を宣言型ボックス 箱Box2の; // Box2のを宣言し、ボックスに入力し
データメンバにアクセスする オブジェクトクラスのパブリックデータメンバーはアクセスへのダイレクトアクセス操作子を(。)を使用することができます。 #include <iostreamの> 使用して名前空間STD; クラスボックス { パブリック: ダブル長さ; // 長ダブル幅; // 幅ダブル高さ; // 高}; int型のmain() { ボックスBOX1; // 宣言BOX1、ボックス型 BOX2ボックス; // 宣言BOX2、入力ボックスダブル容積= 0.0 ; // ボリューム格納するための//のボックス説明詳述1。 Box1.height = 5.0 。 Box1.length = 6.0 ; Box1.breadth = 7.0 ; // ボックス2详述 Box2.height = 10.0 ; Box2.length = 12.0 。 Box2.breadth = 13.0 ; // ボックス1的体积 ボリューム= Box1.height * Box1.length * Box1.breadth。 裁判所未満 << " BOX1的体积:" <<ボリューム<< てendl; // ボックス2的体积 ボリューム= Box2.height * Box2.length * Box2.breadth。 COUT<< " Box2の的体积:" <<ボリューム<< てendl; リターン 0 ; }
クラス&詳細なオブジェクトの クラスのクラスメンバ関数のメンバ関数は、クラス定義のような他の変数のように、クラス定義内で定義および書き込みするもの関数プロトタイプです。 クラスアクセス修飾子のクラスのメンバーは次のように定義することができ、パブリック、プライベートまたは保護されました。デフォルトは次のように定義されるプライベート。 コンストラクタ&コンストラクタクラスのデストラクタは、新しいオブジェクトを作成するときに呼び出される特殊な関数です。クラスデストラクタは、オブジェクトが作成、削除されたときに呼び出される特殊な関数です。 C ++ コピーコンストラクタコピーコンストラクタは、オブジェクトを作成する特別なコンストラクタは、オブジェクトが新しく作成されたオブジェクトを初期化するために、同じクラスを使用する前に作成されています。 C ++フレンド関数のフレンド関数は、クラスにアクセスすることができますプライベートと保護のメンバーを。 C ++ インライン関数を介して、インライン関数、コンパイラは、関数呼び出しの拡張機能本体のコードを試みます。 C ++では、この各オブジェクト内のポインタは、特殊なポインタを有し、この、そのオブジェクト自体にポイント。 C ++ポインタよう指向クラスのクラスへのポインタのような構造体へのポインタ。実際には、クラスは、構造機能を有するものとして見ることができます。 Cのデータメンバとメンバ関数クラス++クラスの静的メンバは、静的として宣言することができます。