C++静态构实现多态

#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类型`实现`静成员`的唯一性.

这样,就不是同一个静态构单线程的不同时刻工作,而是多线程可用不同静态构单独的工作,因而是非常不错的.相当于前者是单线程版.后者是多线程版.

posted @   zjh6  阅读(13)  评论(0编辑  收藏  举报  
相关博文:
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示