ずっと勘違いしてたこと。

privateな関数


= 同じクラス内からのみ呼び出せるメンバ関数



てのは、誰でも知ってる当たり前のこと。


けど、なぜか自分は、言葉としてはちゃんと理解しつつも、実は頭の中では、



同じオブジェクト内からのみ呼び出せるメンバ関数


だと思ってた。


つまり、

class Hoge{
public:
void hogehoge(Hoge h){h.foo();}
private:
void foo(){cout << "foo";}
}

みたいなことができると思ってなかったってことorz。

日本語は正しく理解しましょう。