C++ での covariant return type2010年07月18日 12時01分33秒

C++ では、派生型の戻り値で関数をオーバーライドすることが出来る。多態性の例。
struct A
{
    virtual A* f() { return NULL; }
};

struct B : public A
{
    virtual B* f() { return NULL; }
};