C++のいくつかの概念.

4395 ワード

抽象:実はモデルを構築する過程です.クラスを構築するには、まずどの変数(これがデータ抽象)、どの機能(これが行為抽象)を実現するかを考えます.
同じオブジェクトに対して抽象的な結果には基準がなく、コードを書く人がどう思っているかを見て、目的を達成する抽象は抽象的ですね.
パッケージ:これは見てみると、実はコードを書く過程です.インタフェースとしてどの関数を使用するか、プライベート関数として使用するかなどについて説明しますが、どちらかというとコードを書くかということです.
継承:言うまでもなく、人の関数を使って、私はあなたの息子で、だからあなたのは私の
多態:(ああ、今日初めてこの語orzを見た)は、関数が複数のタイプのオブジェクトを処理できることです.4つの実装方法:強制マルチステート、リロードマルチステート、タイプパラメータ化マルチステート、マルチステートを含む.(この部分をちゃんと見ているように見えました==)
クラス:クラスを定義するには、次のようにします.
class Clock //   
{
//
public:
void showTime();
//
protected:
//
private:
//
}

//
void Clock::showTime(){
}

一般クラスで関数プロトタイプのみを宣言するために、関数の実装は外部で定義できますが、クラス名の制限が必要です.
public privateとprotectについて:
publicで定義されるのは関数の外部インタフェースであり,すなわちクラスの外ではpublicの関数しか使用できない.もっとはっきり言えば、この2つのファイルの外で、エンティティを定義したりするときは、この部分の内容しか使えません.
privateという部分で定義されているものは、変数でも関数でも、つまりこの2つのファイル内のものでしか使えません.
protectというものはprivate属性と似ていますが、両者を継承する際に異なる結果が出てきます.継承のタイプにも関係しています.これは継承の部分で詳しく議論しましょう.
インラインメンバ関数:(もう1つの新語T,本当に何も分からないようですね~)つまり、1つの関数を使う回数が多い場合は、オーバーヘッドを減らすためにインライン関数にしますが、コンパイル長が増えるので注意して、インライン関数として簡単な関数だけを選んだほうがいいです.インライン関数には、クラスファイルに直接関数体を書く方法と、メンバー関数のcppファイルにこの関数を書くときに、戻り値タイプの前にキーワードinlineを付ける方法があります.両方の方法で効果は同じです.
オブジェクト(エンティティ):クラスは抽象的なもので、so、私たちが使用するときにエンティティを定義するには、オブジェクトと呼ばれます.オブジェクトを使用してクラスの共有メンバー関数にアクセスできます.オペレータをします.
构造関数と解析関数:(私はこの难兄难弟の名前をほとんど忘れました...ところでこの2人は普通自动的に生成するでしょう~)
変数を定義するときに初期化することはできません(なぜか聞かないでください.どうせ初期化しないでください.コンパイルエラーがあります).そのため、コンストラクション関数にはクラスの変数を初期化する必要があります.コンストラクション関数はクラス名と同じで、戻りタイプがなく、通常共有関数として宣言されます.通常、コンストラクション関数は、オブジェクトが作成されると自動的に呼び出されます.クラスにコンストラクション関数が書かれていない場合、コンパイラはデフォルトのパラメータなしコンテンツのコンストラクション関数を自動的に生成し、宣言されている場合は自動的に生成しません.
注意:自分で構造関数を定義し、パラメータがある場合は、エンティティを定義するときにパラメータを指定する必要があります.そうしないと、エラーが発生します.以下のように
Clock::Clock(int x, int y){
//
}

// :

Clock myclock(0,0);

// :

Clock myclock;

コピーコンストラクション関数:つまり、オブジェクトが1つある場合、同じオブジェクトがたくさん必要です.何度も初期化できますが、面倒なので、コピーコンストラクションを出します.これはよく使われます(少なくとも私が書いた多くのfilterで使われています).彼は1つのエンティティの属性を別のエンティティにコピーします.
Clock::Clock(Clock &c){
//
}

//

Clock myclock(0,0);
Clock clock2(myclock);

コピー構文が呼び出される場合は、1つの関数のパラメータがクラスのエンティティである場合、または関数の戻り値がクラスのエンティティである場合、コピー構文が呼び出されるので、原因を知りたければ自分で調べましょう.書くのがおっくうだ.
構造関数:このクラスを解放するための空間であり、一般的にエンティティの生存期間が終わると自動的に呼び出されます.コンストラクション関数と同様に、戻りタイプはなく、関数名はクラス名と同じですが、前に「~」があり、システムを書かないと何でも良いデフォルトのコンストラクション関数が自動的に生成されます.形式是:~Clock(){}(真的没节操啊d(′▽`)b)