问题背景 与国密算法相关。目前是有这么两个类,一个是SM2,一个是SM3。因为SM2在计算签名时,要先对数据进行一些预处理,即对数据进行hash计算,这里可以采用SM3,但是又不局限于使用SM3,只要提供类似HASH功能的即可。问题抽象一下,两个类A和B,A需要使用B中的功能,但是B中的功能又不仅仅有一种实现方式。那么,采取的解决办法是这样的。先定义基类BaseB,B实现BaseB,A中包含BaseB类型的指针,实例化A的时候,对该成员变量进行初始化。