#include <常用>
元<类 M>构 A{
空 f(){M::g();}
};
构 C{
单 串 首,尾;
静 空 切换(串&a,串&b){首=a;尾=b;}
静 空 g(){
打印(首,尾);
}
};
空 ff(){
串 a{"ab"},b{"cde"};
C c;c.切换(a,b);
A<C>e;e.f();
}
空 gg(){
串 a{"啊啊"},b{"哈哈"};
C c;c.切换(a,b);
A<C>e;e.f();
}
空 主(){
ff();gg();
}
这里的
多态
是
两个
层级.
1,是
A<C>
中
C
模板的多态!
2,是
C.切换(a,b)
引起的
多态
!
静态构
是可以实现
静态和动态
两种层级的
多态
.
当然,上面只是针对
单线程
.
元<整 I,类 T>构 C{
...内容不变...
};//可以借助`整数I,T类型`实现`静成员`的唯一性.