はじめに:北京大学でのコースを、対応するこのノートで、中国大学のmoocのプログラミングとアルゴリズム(c)はC ++オブジェクト指向プログラミング、主に自分自身の使用のレビューのために、
CからCからの最初の章++
引用文
- それは時に定義を参照してください初期化されている変数に
- 参考忠実もはや別の変数への参照、参照変数
- のみを参照する変数
- これは、関数の戻り値として挙げることができます
- しばしば引用され、キーワードCONSTが先行し、そのしばしば引用された参考文献の内容を変更するために使用することはできませんが、直接道の引用を修正することにより変更することができます
- 多くの場合、引用や参照が同じタイプではありません。参考文献は、通常の参照、参照に割り当てることができ、多くの場合、一定の基準に割り当てることはできません。
例:
void swap(int & n1, int & n2){
int temp;
temp = n1;
n1 = n2;
n2 = temp;
}
constキーワード
- いずれかを使用します。定数を定義します。
const int
const double
- 二つの使い方:定数ポインタを定義します。
const int *
ポインタに割り当てられたポインタの一定量を入れない、およびその逆ができ、同じことは定数を指すが、コンテンツを直接変更するか、ポインタを変更することができるポインタの内容によって変更することができません。 - 3を使用してください:しばしば引用された定義。
- 関数パラメータへのポインタ定数は、誤ってポインタのパラメータの内部機能の内容を変更回避します。
動的なメモリ割り当て
- 新しい使用法:変数を割り当て
P = new T;
、意味:Pは、T字型ポインタであるメモリ空間のはsizeof(T)を分配し、次にPの先頭アドレスに割り当て - 二つの新しい使用法:アレイを割り当てる
P = new T[N];
意味:Nが割り当てられる配列要素の数であり、それは表現することができます。 - new演算子は、値Tを返します*
- 使い方を削除します
delete P;
、Pは1つのである分配新しいメモリ空間 - 用法IIを削除します。
delete [] P;
- 収納スペースは削除し、二倍を超えることはできません
インライン関数
関数呼び出しのオーバーヘッドを低減するために、(主にコールの数と関数呼び出しオーバーヘッドの少ない文ロットを低減するために)、関数のインライン化のメカニズムは、実際の操作で挿入された機能コール文文ブロックの本体に直接導入されます。使用するinline
キーワードインライン関数の定義を。
例:
inline int max(int a, int b){
if(a > b) return a;
return b;
}
関数のオーバーロード
同じ名前を持つ複数の機能、パラメータの数またはパラメータの種類オーバーロードと呼ばれる異なります。Javaの持つヘビーデューティーの使用は、それらを繰り返しません。
ここでも、二つの同一の機能パラメータリストが、異なる戻り値は、関数のオーバーロードは呼び出されません。
関数のデフォルトパラメータ
できる機能の定義連続右端のいくつか省略した場合に呼び出されたとき、パラメータはデフォルト値を持っている右端のいくつかの連続した対応を使用して、パラメータのデフォルト値を。
プログラムの意義は、スケーラビリティを向上させることです。
例:
void func(int a, int b = 1, int c = 2);
func(10);
func(10, 3);
func(10, , 8);
最初に相当するfunc(10, 1, 2);
第二に相当しfunc(10, 3, 2);
第三のエラー、右から連続のみデフォルト
オブジェクトとクラス
のでので、ここでは、Javaのさまざまな場所でのレコードだけをjavaのことを学びました。
3つの方法でクラスとオブジェクトの使用:
最初のJavaと。
第二は、>メンバ名-ポインタフォーム。
例:
Circle c1, c2;
Circle * p1 = & c1;
Circle * p2 = & c2;
p1->w = 5;
p2->Init(5, 4);
第三は、参照名。メンバ名フォーム。
例:
Circle c;
Circle & cc = c;
cc.w = 5;
cc.Init(5, 4);