工業製造
産業用モノのインターネット | 工業材料 | 機器のメンテナンスと修理 | 産業プログラミング |
home  MfgRobots >> 工業製造 >  >> Industrial programming >> C言語

構造体とクラスの違い:C++ の例で説明

構造とは?

Structure は、float、char、int などの異なるデータ型の論理的に関連するデータ項目を結合するユーザー定義のデータ型です。

すべての構造要素は、連続したメモリ位置に格納されます。構造型変数は、さまざまなデータ型の複数のデータ項目を 1 つの名前で保存するのに役立ちます。

クラスとは?

クラスは、特定のタイプのオブジェクトを構築するための青写真または一連の指示です。これは、実生活のエンティティを中心に展開するオブジェクト指向プログラミングの基本概念です。プログラミング言語のクラスは、オブジェクトの動作方法とオブジェクトに含まれるものを決定します。

クラスは、本体内にさまざまな種類のデータ型とメンバー関数を持つことができるユーザー定義のデータ型でもあります。

C++ のクラスの構文

クラスの構文は次のとおりです:

class class-name
{
// data
// functions
};

上記の構文では、クラス名はクラスに割り当てられた名前です。データはクラスのメンバーで、通常は変数として宣言されます。ここの関数はクラス関数です。

C++ の構造体の構文

構造の構文は次のとおりです:

struct struct_name
{
// struct data members
}

上記の構文では、struct キーワードが使用されています。 struct_name は構造体の名前です。構造体メンバーは中括弧内に追加されます。これらのメンバーは、おそらく異なるデータ型に属しています。

構造とクラスの違い

構造とクラスの主な違いは次のとおりです:

構造 クラス 構造体は、char、float、int などのさまざまなデータ型の論理的に関連するデータ項目を組み合わせたユーザー定義のデータ型です。クラスは、特定の型のオブジェクトを構築するための青写真または一連の指示です。 struct キーワードを使用して宣言します。class キーワードを使用して宣言できます。値型のデータ型です。参照型のデータ型です。他の構造体またはクラスから継承することはできません。他の構造体またはクラスから継承することができます。新しいキーワードを使用せずにオブジェクトをインスタンス化できます。新しいキーワードを使用してオブジェクトをインスタンス化できます。構造体のデフォルト コンストラクターを変更することはできません。クラスのデフォルト コンストラクターを変更できます。構造では、すべての値の型がスタックに割り当てられます。クラスでは、すべての値の型がヒープに割り当てられます。小さなプログラムで使用されます。大きなプログラムで使用されます。メンバー関数は抽象または仮想にすることはできません。メンバー関数は抽象または仮想にすることができます。ヴァートual.Structure インスタンスは「構造変数」と呼ばれます。クラス インスタンスはオブジェクトと呼ばれます。null 値を持つことはできません。null 値を持つことはできます。構造メンバー変数は直接開始できません。クラス メンバー変数は直接開始できます。宣言していない場合任意のアクセス指定子の場合、構造体のメンバーはパブリックです。アクセス指定子を宣言していない場合、クラスのメンバーはプライベートです。

どちらを選ぶべきですか?

メモリ フットプリントが大きい場合や、継承などの概念を使用したい場合は、クラスを選択できます。一方、デフォルト値の初期化に必要なメモリ フィールドまたはフットプリントが小さい場合は、構造体を使用できます。

主な違い


C言語

  1. C++ クラスとオブジェクト
  2. C++ の複数、マルチレベル、および階層的な継承
  3. C++ フレンド関数とフレンド クラス
  4. C++ の演算子と例:型とプログラムとは
  5. 例を使用した C++ の For ループ
  6. C++ Switch Case ステートメントと EXAMPLE
  7. 例による配列の C++ 動的割り当て
  8. C++ 構造体と例
  9. C++ の std::list と例
  10. 例を含む C# 抽象クラスのチュートリアル:抽象化とは?
  11. while と do-while の違い:例で説明