C++の復習

最近はずっとJavaばかり使っていたのでC++についておさらいします。久しぶりに調べてみたら忘れていた事ばかりで驚愕。時々復習は必要ですね。

アクセス記述子

public

ドット演算子、アロー演算子インスタンス化したクラス、またはそのポインタからアクセス可能。

private

インスタンス化したクラス、またはそのポインタからアクセス不可。アクセサメソッド等を利用してメンバ変数へアクセスする場合などに使用する。

protected

宣言されたクラスではprivateと同じ扱いだが、サブクラスからはprivate扱いとなる。

おまけ

省略した場合はprivate扱いとなる。ただし構造体の場合はpublicとなる。継承時の宣言も同じ。以下の場合、CSuperclass内のメソッド、変数はprivate扱いになる。

class Csubclass : CSuperclass{};

名前空間

namespace宣言

以下のように宣言することで、名前空間を利用した変数指定を行う事が可能になる。

namespace myscope
{
int i;
int j;
}
myscope::i

usingディレクティブ

以下の記述を行う事で、スコープ演算子を省略出来る

using namespace myscope;

using宣言

以下の記述を行う事で、namespace宣言内の特定の変数についてスコープ演算子を省略出来る

using myscope::i;

オーバーロード

継承したメソッドに対するオーバーロードは不可。サブクラス側のメソッドに上書きされてしまう。