2010年11月28日のブックマーク (1件)

  • abstract classで知らなかったこと、付記、派生と継承の違い

    以下のコードはwell-formedである。 struct Non_abstract { virtual void f() { } } ; struct Abstract : Non_abstract { void f() = 0 ; } ; abstractクラスは、abstractクラスではないクラスから派生されることができる。その際、pure virtual functionではないvirtual functionを、pure virtual functionとしてオーバーライドすることができる。 これが何の役に立つのか分からない。ただ、pure virtual functionがあればabstract classであるなどという、あまり文法的に美しくないC++の仕様からすると、わざわざこの挙動を禁止する理由が見当たらなかったのだろうか。 ところで、今まで私は、派生と継承の違いを明確

    merom686
    merom686 2010/11/28
    「クラスは派生するものである。クラスのメンバーは継承するものである。」