C ++のコンストラクタ

それは、C ++クラスとオブジェクトに定義されています。(これはまた、多くの場合、「ノーオブジェクト?新1」の内容を嘲笑するために使用されます)。
クラス宣言は、classキーワードを追加する必要があります

コンテンツクラス+クラス名{}の形式;
CLOCK

クロック・クラス
{
パブリック:
時計(int型の時、分はint、int型SECOND);
クロック();
無効ショー();
プライベート:
int型の時、分、秒;
};
オブジェクトがクロックによって後で作成され、すべてのオブジェクト我々はコンストラクタ自身の言葉を書いていない場合、それはデフォルトコンストラクタを呼び出します、クラスのコンストラクタの内部で自分自身を呼び出します。

クラスのコンストラクタ関数を書くのは別の文言を持っています

データ型が定義されているように、フォワード構成は、追加の関数int、空間を必要としません。

最初のクラス名::コンストラクタ関数名(クラス名)を実現{}内容です。(::クラススコープの修飾子は、指示する機能がどのカテゴリに属する​​こと)

同様にクロックに例えば

::クロッククロック()
{
時間= 0
分= 0、
SECOND = 0;
COUT << << ENDLを"第二のコンストラクタを使用して";
};
2番目のパラメータがオブジェクトに追加されるように作成することができますクラスが初期化されるとき。クラス名(パラメータ)に::フォーマットクラス名:クラスメンバー(対応するパラメータ){}コンテンツ

まだ時計のケース

::クロッククロック(INTの時間、分INT、INT秒):時間(時間)、分(分)、秒(秒)
{
COUTが<< "最初のコンストラクタを使用して" << ENDL;
};
場合のみ最初のコンストラクタで、私たちは、オブジェクトが作成されたときにオブジェクトを初期化することができないとき。

次のようにこのようなオブジェクトのみを作成することができます。(クロックカテゴリに例えば)

クロックC1、
第二の唯一の文言を使用した場合、我々はあなたが背後にあるオブジェクトを作成するときにパラメータを維持する必要があります

そのようなものとして

クロックC(1,2,3);
および2つのコンストラクタが時間通りに書かれているときに我々はオブジェクトを作成するときに、そう、それだけで私たちは初期化する必要がある場合、それはまたにする必要はありません初期化することができます直接作成時に初期化。

ここでは完全なコードクロックなどは、出力文は、異なる出力文字列は、呼び出しが異なるコンストラクタであることを示すために使用されて、私は2つのコンストラクタを追加し、より優れた機能操作プロセス反応するためには、あります。

書式#include <iostreamの>
使用してSTD CIN ::;
使用してSTD :: COUT;
使用してSTD :: ENDL;
クラスの時計
{
パブリック:
時計(int型の時、分はint、int型SECOND);
クロック();
無効ショー();
プライベート:
INT時、分、秒;
};
int型のmain()
{
クロックC(1,2,3);
c.show();
クロックC1;
c1.show();
0を返す;
}
時計時計::(INT時間、分、INT、INT秒):時間(時間)、分(分)、第二(秒)
{
COUTが<< "最初のコンストラクタを使用して" << ENDL;
};

クロッククロック::()
{
時間0 =;
= 0分;
= 0秒;
COUT << "第二のコンストラクタを使用して、" << ENDL。
}。

ボイドクロック::ショー(http://www.my516.com)
{
COUT << "時間=" <<時間<< ENDL。
裁判所未満<< "分=" <<分<<てendl;
COUT << "第二=" <<第<< ENDL。
}
 
---------------------

おすすめ

転載: www.cnblogs.com/ly570/p/11106217.html