覆盖派生函数的行为,同时仍然调用它的父函数的相同函数,参见C::foo()了解example.It仍然具有A::foo的行为,但对其进行了扩展。作为一种模式是不是太简单了?
class A
{
public:
virtual ~A() {}
virtual void foo(){ MSG("A::foo");}
};
class B : public A
{
public:
virtual void foo(){ MSG("B::foo");}
};
class C : public B
{
public:
virtual v
像Haskell这样的函数式编程语言允许用户使用等式表示法来定义函数,其中左侧有几个模式参数,可以与任意多个嵌套匹配。例如:
(fun (Ctr A A) (Foo (Tic X)) a b c d e) = a
(fun (Ctr A B) (Foo (Tac Y)) a b c d e) = b
(fun (Ctr B A) (Bar (Tic X)) a b c d e) = c
(fun (Ctr B B) (Bar (Tac Y)) a b c d e) = d
(fun x y a b c d e) = (df x y a b c d e)