<分区>
我有三个纯虚类,我们称它们为ServiceA
、ServiceB
和ServiceC
。
具体实现使用多重继承提供所有三个服务:
class Concrete : public ServiceA, public ServiceB, public ServiceC
{
//...
};
服务也可以由单独的具体类(单继承)提供,因此为了使用这些服务,我正在考虑编写一个这样的类:
class Consumer
{
public:
Consumer(const ServiceA& svcA, const ServiceB& svcB);
};
如果如下所示实例化我的类,是否会违反严格的别名规则?
Concrete multiService;
Consumer consumer(multiService, multiService);