C ++はオブジェクト指向プログラミングをC言語に追加し、C ++はオブジェクト指向プログラミングをサポートします。クラスはC ++のコア機能であり、ユーザー定義型と呼ばれることがよくあります。
このクラスは、データ表現とデータ処理のメソッドを含むオブジェクトの形式を指定するために使用されます。クラス内のデータとメソッドは、クラスのメンバーと呼ばれます。クラス内の関数は、クラスのメンバーと呼ばれます。
C ++クラス定義
クラスの定義は、本質的にデータ型を定義するための青写真です。これは実際にはデータを定義しませんが、クラスの名前が何を意味するかを定義します。つまり、クラスのオブジェクトに含まれるものと、このオブジェクトに対して実行できる操作を定義します。
クラス定義は、キーワードclass で始まり 、その後にクラスの名前が続きます。クラスの本体は、中括弧のペアに含まれています。クラス定義の後には、セミコロンまたは宣言リストを続ける必要があります。
たとえば、キーワード クラスを 使用して、Boxデータ型を次のように定義します。
class Box
{
public:
double length; // Length of a box
double breadth; // Breadth of a box
double height; // Height of a box
};
キーワード public は、クラスメンバーのアクセス属性を決定します。クラスオブジェクトのスコープ内で、パブリックメンバーはクラスの外部からアクセスできます。
クラスのメンバーをプライベート または 保護として指定することもできます 。これについては後で説明します。
C ++オブジェクトを定義する
クラスはオブジェクトの青写真を提供するため、基本的に、オブジェクトはクラスから作成されます。クラスのオブジェクトを宣言することは、基本型の変数を宣言することに似ています。次のステートメントは、クラスBoxの2つのオブジェクトを宣言しています。
Box Box1; // 声明 Box1,类型为 Box
Box Box2; // 声明 Box2,类型为 Box
オブジェクトBox1とBox2には、独自のデータメンバーがあります。
データメンバーにアクセスする
クラスのオブジェクトのパブリックデータメンバーには、直接メンバーアクセス演算子(。)を使用してアクセスできます。これらの概念をよりよく理解するために、次の例を試してみましょう。
#include <iostream>
using namespace std;
class Box
{
public:
double length; // 长度
double breadth; // 宽度
double height; // 高度
};
int main( )
{
Box Box1; // 声明 Box1,类型为 Box
Box Box2; // 声明 Box2,类型为 Box
double volume = 0.0; // 用于存储体积
// box 1 详述
Box1.height = 5.0;
Box1.length = 6.0;
Box1.breadth = 7.0;
// box 2 详述
Box2.height = 10.0;
Box2.length = 12.0;
Box2.breadth = 13.0;
// box 1 的体积
volume = Box1.height * Box1.length * Box1.breadth;
cout << "Box1 的体积:" << volume <<endl;
// box 2 的体积
volume = Box2.height * Box2.length * Box2.breadth;
cout << "Box2 的体积:" << volume <<endl;
return 0;
}
————————
上記のコードをコンパイルして実行すると、次の結果が生成されます。
Box1のボリューム:210 Box2
のボリューム:1560
プライベートメンバーと保護されたメンバーは、直接メンバーアクセス演算子(。)を使用して直接アクセスできないことに注意してください 。
以降のチュートリアルでは、プライベートメンバーと保護されたメンバーにアクセスする方法を学習します。
クラスとオブジェクトの詳細
これまでのところ、C ++クラスとオブジェクトの基本的な理解があります。次のリストには、C ++クラスとオブジェクトに関連するその他の概念もいくつかリストされています。