' P '

whatever I will forget

C++ Inheritance

さーてようやくinheritanceまできました!(またサボってました)

inheritanceのやり方は、下記です。

class Account {
    //functions, members
}

class Saving_Account ; public Account {
    //functions, members
}

class Checking_Account ; public Account {
    //functions, members
}

class Trust_Account ; public Account {
    //functions, members
}

まあ文法はシンプルなんですが、public, protect, privateらへんがややこしそう。
とりあえずinheritanceを使うメリットとしては、クラスの再利用が挙げられますね。
同じようなロジックを持ったクラスを何個も作るのはダルい。
また、データやfunctionをinheritanceで作ったクラスから使えるところも便利ですね。

public, protected, privateの関係性

ベースクラスから、inheritanceした場合の上記3タイプの関係性を簡単に書きます。

base classを drived calssにてpublic で継承した場合 
public : public (OK)
protected : protected (OK)
private : private  (NG)  //値にアクセスできない

base classを drived calssにてprotected で継承した場合 
public : protected (OK)
protected : protected (OK)
private : private (NG)  //値にアクセスできない

base classを drived calssにてprivate で継承した場合 
public : private (OK)
protected : private (OK)
private : private (NG)  //値にアクセスできない

private最強説。