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

C++でのオブジェクトとクラスの違い


この投稿では、C++プログラミング言語に関するオブジェクトとクラスの違いを理解します。

C++のクラス

  • これは、オブジェクト指向プログラミングの実装に役立つC++のコードの構成要素です。
  • ユーザーが定義するタイプです。
  • 独自のデータメンバーとメンバー関数を保持しています。
  • これらのデータメンバーとメンバー関数には、クラスのインスタンスを作成することでアクセスできます。
  • これらは変数を操作するために使用でき、クラス内のオブジェクトがどのように動作する必要があるかを示すためのプロパティを定義するために使用できます。
  • オブジェクトの青写真として理解できます。
    • 例:従業員のクラスについて考えてみます。従業員の名前、年齢、生年月日、役職など、多くの属性が存在する可能性があります。
    • これらはデータメンバーと呼ばれます。
    • メンバー関数は'draw_salary'、'get_promotion'であり、クラスオブジェクトに関して特定のアクションを実行します。
    • これらは、すべての従業員が共有する共通のプロパティになります。
  • キーワード「class」を使用して定義されます。
  • その後にクラスの名前が続きます。
  • クラス本体は花括弧内に定義され、セミコロンを使用して終了します。
class class_name {
   body_of_class
};

C++のオブジェクト

  • オブジェクトはクラスのインスタンスです。
  • クラスが定義されている場合、メモリはそのクラスに割り当てられません。
  • オブジェクトが作成されるとすぐに、メモリがクラスのすべての属性に割り当てられます。
  • クラスが定義されると、オブジェクトの詳細が定義されます。
  • そのクラスを使用する必要があり、操作を実行する必要がある場合は、オブジェクトを作成する必要があります。
  • オブジェクトは、以下の構文を使用して明示的に作成する必要があります。
class_name object_name;
  • クラスのデータメンバーとメンバー関数には、ドット('。')演算子を使用してオブジェクトからアクセスできます。
    • 例:必要な属性とメンバー関数を使用してクラスが作成されていると仮定します。
    • そのクラスに関するオブジェクトが作成されると、以下の方法でメンバー関数にアクセスできます。
object_name.member_function()
  • 本質的に公開されているデータメンバーには、上記と同じ方法でアクセスできます。つまり、「。」を使用します。オペレーター。
  • パブリックメンバーは、「public」キーワードを使用して定義されたメンバーです。
  • プライベートメンバーは、「private」キーワードを使用して定義されたメンバーです。
  • これらのメンバーには、オブジェクトから直接アクセスすることはできません。
  • 「public」、「private」、および「protected」キーワードは、データメンバーのアクセス制御と呼ばれます。
  • クラス内で定義されているメンバー関数は、デフォルトでインラインと見なされます。
  • インライン関数は、関数が定義された直後に展開される関数です。これらは、コードがコンパイルされるときにどこにでもコピーされます(マクロと同様)。これは、関数を呼び出すオーバーヘッドが削減されることを意味します。
  • クラス以外の関数は、「inline」キーワードを付加することでインライン関数として作成できます。

  1. C ++のドット(。)演算子と->の違いは何ですか?

    ドットと矢印の演算子は、どちらもC++でクラスのメンバーにアクセスするために使用されます。それらはさまざまなシナリオで使用されます。 C ++では、class、struct、またはunionとして宣言された型は、「クラス型」と見なされます。したがって、以下は3つすべてを指します。 a.bは、bがオブジェクトのメンバー(またはオブジェクトへの参照[1])である場合にのみ使用されます。したがって、a.bの場合、aは常にクラスの実際のオブジェクト(またはオブジェクトへの参照)になります。 a→bは基本的に(* a).bの省略表記です。つまり、aがオブジェクトへのポインタである場合、a→bはポイ

  2. C#でのクラスと構造の違い

    クラスと構造を区別するには、最初に、データの保持と定義のコンテキストでは、構造とクラスの両方が同等であるように見えることを理解する必要があります。これらは両方とも、データメンバーにいくつかのデフォルト値を定義および保持することができます。しかし、この文脈を超えてそれらを考慮すると、クラスは構造と比較して機能性とともにより多くの柔軟性を提供します。 クラスと構造の重要な違いは次のとおりです。 Sr。いいえ。 キー クラス 構造 1 データ型 クラスで定義されたデータは参照としてメモリに保存され、アクセスするための特定のアドレスを持っているため、クラスは参照型であると言えます。