2011-01-01から1年間の記事一覧
あとちょっとで新年だけど一人で修論書く以外にすることないよ…. private継承の名前探索 class Base1 { public: void f() { } }; class Base2 { public: void f() { } }; class Derived : public Base1, private Base2 { }; int main() { Derived d; d.f();…
なにごとも何故そうなっているのかを考えるのが重要である.その"何故"を理解することで今まで見えなかったことが鮮明に見え,新しい世界が開けるのかもしれない….と言う訳で本題はこれ↓ class Hoge { public: virtual void method() = 0; }; そう!純粋仮…
関数名の探索の勉強.関数呼び出しではどの関数が呼び出されるかを決めなければならない. まず関数が呼び出されたスコープ内で呼び出される関数の名前の探索が行われる.このときADL(Argument Dependent name Lookup)によって引数の型が定義された名前空間…
Effective C++第3版の9項に「コンストラクタやデストラクタ内では決して仮想関数を呼び出さないようにしよう」とある.基底オブジェクト生成時に仮想関数を呼び出すと,その基底オブジェクトを型とした場合の仮想関数呼び出しとなる…!このとき思ったのが「c…