SystemCが備えるべきC++基本文法を学ぶ

2772 ワード

SystemCが備えるべきC++基本文法を学ぶ
  • class classはタイプの変数、メソッドの定義プロトタイプオブジェクトがクラスのインスタンス化である.クラスは2つの部分から構成されています.クラス宣言:データ部分をデータメンバーで記述し、メンバー関数(メソッド)でインタフェースを記述します.クラスメソッド定義:クラスメンバー関数を記述する具体的な実装クラス宣言はクラスの青写真を提供し、クラスメソッド定義はクラスの動作の詳細を提供する.クラスはデータと行為の細部の対外パッケージを実現した.
  • constructor and destructor構造関数はクラスと同名の共有メンバー関数であり、戻り値タイプがなく、voidでもだめである.コンストラクション関数は再ロードできます.すなわち、1つのクラスに複数のコンストラクション関数があります.クラスに明示的なコンストラクション関数がない場合、コンパイラは自動的に空のコンストラクション関数を生成します.コンストラクション関数のパラメータにデフォルト値が必要な場合は、宣言でのみ指定できます.宣言と定義がある場合、定義にはデフォルト値は表示されません.関数が定義されている場合にのみ、デフォルトのパラメータが定義に表示されます.コンストラクション関数のパラメータリストにデフォルト値がある場合は、このパラメータの右側のすべてのパラメータにデフォルト値が必要です.1つのコンストラクション関数のすべてのパラメータにデフォルト値がある場合、他のコンストラクション関数は失効します.
  • return from function関数return値の方式は、関数が変数またはパラメータを初期化する方法と全く同じである.返された値は、呼び出し点の一時量を初期化するために使用され、この一時量は関数の戻り結果である.関数がオブジェクトを返すと、クラスのコンストラクション関数が自動的に呼び出されます.関数のローカル変数を返してもらえますか?値コピーで関数のローカル変数を返すことができます.関数のローカル変数、ローカルオブジェクトを参照、ポインタで返さないでください.関数呼び出しが完了すると、関数スタック内のローカルオブジェクト空間が解放され、ポインタと参照は存在しないオブジェクトを指します.関数がポインタ、参照、またはクラスのオブジェクトを返すと、関数呼び出しの結果を使用して結果オブジェクトのメンバーにアクセスできます.
  • dynamic memory allocate and release deleteを使用してnewで割り当てられていないメモリを解放しないでください.deleteと同じメモリブロックを2回使用しないでください.new[]を使用して配列にメモリを割り当てる場合はdelete[]を使用して解放します.newを使用してエンティティにメモリを割り当てる場合はdeleteを使用して解放します.対空ポインタでdeleteを使用するのは安全です.
  • template classテンプレートはクラスではありません.テンプレートはC++コンパイラ命令で、クラスとメンバー関数の定義を生成する方法を説明します.テンプレートメンバー関数を独立したインプリメンテーションファイルに置くことはできません.1つのテンプレートは別のテンプレートのパラメータとして使用できます.
  • public,private and protected publicとprivate、protectedの違い;クラス外ではクラス内のpublicメンバーに直接アクセスできますが、publicメンバー関数を使用してクラス内のprivate、protectedメンバーに間接アクセスできます.privateとprotectedの違い;派生クラスのメンバーは、ベースクラスのprotectedメンバーに直接アクセスできますが、ベースクラスのprivateメンバーに直接アクセスできません.
  • polymorphismマルチステートは、オブジェクト向けのプログラム設計言語の最も核心的な特徴である.マルチステートは、1つのオブジェクトが複数の特徴を有することを意味し、それによって異なる属性と方法、すなわち1つのエンティティが同時に複数の表現形式を有することを意味する.同じ操作が異なるオブジェクトに作用し、異なる解釈があり、異なる実行結果を生成することができる.実行時に、ベースクラスへのポインタを指すことで、派生クラスのメソッドを呼び出すことができます.C++では、マルチステートを実現するには、虚関数、抽象クラス、オーバーライド、テンプレート、重荷と多態はまったく異なる2つの概念である.
  • overloadの重荷は、OOPとは関係なく、プログラミング言語が提供するメカニズムにすぎない多用的な思想を体現している.関数リロード:同じ宣言ドメイン内の関数名が同じで、パラメータリストが異なる、すなわち、関数のパラメータテーブルによって一意に識別され、関数を区別する方法.オペレータの再ロード:演算子に異なるタイプのデータを処理させる方法.「<>」のようにシフト演算子としてもよいし、出力ストリームの挿入演算子と入力ストリームの抽出演算子としてもよい.
  • const const定数を定義すると、定数のタイプも定義されます.一方、defineは単純なテキスト置換にすぎず、定数を定義できるほか、インライン関数(inline)に似た簡単な関数を定義するためにも使用できます.ポインタに使用され、constは左結合のタイプの修飾子です.int const *A;//A可変、*A可変int *const A;//A可変、*A可変限定関数の伝達値パラメータ:void function(const int &var);//伝達されたパラメータは関数内で変更できない.限定関数戻り値タイプ:const int function(); const myclassname function();限定関数タイプvoid function()const;//定数メンバー関数、定数メンバー関数は、クラス内のメンバー変数の値を変更できない関数
  • です.