1.インターフェースとは何ですか?
クラスのためのプログラムは、ユーザが直接操作するためのパブリッククラスにアクセスすることができないが、クラスのメソッドを呼び出すことができ、この方法は、ユーザとパブリッククラスとの間のインタフェースの一部であり、ユーザはクラスのメンバ変数に使用することができ、インタフェースここで、クラスのメソッドを記述する必要があります。
また、我々は一般的に、ソースコードのヘッダファイルに(クラス定義)、およびリアライズ(コードクラスメソッド)をインターフェイス、なぜこの方法は、以前のブログで書かれているはずです。
大文字にヘッダファイル名の後ろになぜ2. #ifndefの
マクロと通常の変数を区別するために。
これらのマクロは、資産計上されるように、このマクロは、通常、可変資本で前処理し、事前に使用のためです。便宜上、一般的に実際には、すべての後に#ifndefの、ファイル名を指定して追加することができるかちょうど良いを区別するために、プリプロセッサ変数ファイル名として資産計上。唯一のプリプロセッサ変数を定義するために使用されます。
3クラスの定義は、何ですか?
クラス定義は、通常はプライベートプライベートメンバ変数に設定するなどメンバ変数、関数宣言の定義が含まれ、公共の機能は一般公衆に設定されている、その理由は、メソッドを呼び出すことにより、メンバ変数、およびアクセスを変更するユーザーに直接アクセスできるようにすることです。
クラス型のさらなるメンバーは、プライベートメンバーのデフォルトタイプを提供されていません。
4.スコープ解決演算子::
C ++では、オブジェクトのメソッドを介してアクセスするのではなく、直接対応する関数呼び出しスコープ解決演算子クラスによって操作されてもよいです。
この静的メンバおよびメソッドJavaとC#はなく、オブジェクトを直接呼び出すことで、似ています。
クラス宣言で定義された外側部材関数インラインを行います
class Stock
{
private:
...
void set_tot();
public:
...
};
inline void Stock::set_tot()
{
total_val = shares * share_val;
}
インライン関数の定義を使用するキーワード限り、上述しました。
6.どのようにコンストラクタを使用するには?
1.明示的に呼び出し
ストック食品=証券(「世界キャベツ」、250,12.5)。
2、暗黙の呼び出し
ストック食品(「世界キャベツ」、250,12.5)。
3.new動的割り当て
証券*食品=新証券(「世界キャベツ」、250,12.5)。
4.リストの初期化
ストック食品= {「世界キャベツ」、250,12.5};
ストック食品{「世界キャベツ」、250,12.5};
7.対象とコンストラクタとの間の関係
オブジェクトを構築するコンストラクタの前に、オブジェクトが存在しないので、あなたは、コンストラクタを呼び出すためにオブジェクトを使用することはできません。したがってコンストラクタは、オブジェクトを構築するために使用され、そしてオブジェクトが呼び出すことができません。
8.文の2種類の違い
Stock stock2 = Stock("Boffo Objects",2,2.0);
stock1 = Stock("Nifty Foods",10,50.0) //temporary object
最初の文は、新しいstock2オブジェクトを初期化されます。2番目の文が新しい一時オブジェクトを作成するためにコンストラクタを使用して、stock1に一時オブジェクトを割り当てることです。
あります
Stock stock2 = stock3
stock2 = stock3
最初のステートメントは、ステートメントは、技術の演算子のオーバーロード、stock3使用して次の日にあり、stock3のstock2に割り当てられ、初期化stock2オブジェクトであり、
既存のオブジェクトstock2に割り当てられているが、これらの2つのステートメントは同じではありません。
constの追加関数定義文の後9.それは何を意味するのでしょうか?
そのようなものとして
void Stock::Show() const
このように、クラスの関数の宣言や定義は、この関数はクラスオブジェクトへの呼び出しを変更しないことを意味し、constメンバ関数と呼ばれています。
10.thisポインタ
オブジェクトへのこのポインタはなく、クラスよりも、メンバ関数を呼び出すために使用されます。(コンストラクタとデストラクタを含む)各メンバ関数は、これは暗黙的に定義されているポインタを有しています。