' P '

whatever I will forget

C++ クラスメンバーのアクセス

さてさて、クラスに定義したメンバーのアクセスはどうするんでしょうか!

Dotをつかう

すでにオブジェクトがある場合、

Sample omanman;

omanman.peropero;
omanman.punipuni(69);

*peropero変数とint型の引き数をもつpunipuni関数がSampleクラスにある場合です
ただ単に、.を使ってアクセスできます。

オブジェクトに対するポインターの場合

Sample *omanman = new Sample();

(*omanman).peropero;
(*omanman).punipuni(69);

とするか、

Sample *omanman = new Sample();

omanman->peropero;
omanman->punipuni(69);

とします。 個人的にはarrow operatorのほうが好きです

->って何かな〜とよくコード見てましたが、ようやく謎が解けた!!!

各メンバのアクセス権について

1. public

名前の通り、公開されているので、ファンクションの外からでもアクセスできます。

2. private

そのファンクションと、friendクラスからアクセスできます。

3. protected

元クラスから継承されたクラスからはアクセスできます。

継承する際のクラスの権限について

1. public Inheritance

publicベースクラス から継承したメンバ : public
protectedベースクラス から継承したメンバ : protected
privateベースクラス から継承したメンバ : 継承したクラスからはアクセス不可。PublicまたはProtectedベースクラスのメンバを通じてはアクセス可能

2. protected Inheritance

public または protectedクラスから継承したメンバ:protected

3. private Inheritance

public または protectedクラスから継承したメンバ:private