In C++ there is no support for multiple dispatch, only for the object on which the function is called (dynamic dispatch only applies to the this
pointer). In the expression:
sc.eq(c1);
the compiler will dispatch to the dynamic type of sc
, but will use the static type of c1