En un sentido muy limitado, la respuesta es "Sí": suponiendo que sus clases o interfaces base están diseñadas para un solo propósito, heredar ambas crea una clase con múltiples responsabilidades. Sin embargo, si es "algo malo" o no depende de la naturaleza de las clases o interfaces que está heredando.
Puede dividir sus clases e interfaces en dos grupos principales: los que abordan la complejidad esencial de su sistema y los que abordan su complejidad accidental. Si hereda de más de una clase de "complejidad esencial", es malo; si hereda de una clase "esencial" y una o más clases "accidentales", está bien.
Por ejemplo, en un sistema de facturación, podría tener clases para representar facturas y ciclos de facturación (abordan la complejidad esencial) y clases para objetos persistentes (abordan la complejidad accidental). Si heredas así
class BillingCycleInvoice : public BillingCycle, public Invoice {
};
es malo: BillingCycleInvoice
tiene una responsabilidad mixta en relación con la complejidad esencial del sistema.
Por otro lado, si heredas así
class PersistentInvoice : public Invoice, public PersistentObject {
};
su clase está bien: técnicamente, atiende dos inquietudes a la vez, pero como solo una de ellas es esencial, puede descartar heredar la accidental como el "costo de hacer negocios".