C++ で virtual public

virtual public な継承。初めて使った。

class BinaryInputPort : virtual public BinaryPort
class BinaryOutputPort : virtual public BinaryPort
class BinaryInputOutputPort : public BinaryInputPort, public BinaryOutputPort

合ってる?それにしても見事な菱形継承だ(良いのか?)