Solidity supports multiple inheritance. There can be multiple levels of single inheritance. However, there can also be multiple contracts that derive from the same base contract. These derived contracts can be used as base contracts together in further child classes. When contracts inherit from such child contracts together, there is multiple inheritance, as shown in the following diagram:
The next screenshot shows an example of multiple inheritance. In this example, SumContract acts as a base contract that is derived into the MultiContract and DivideContract contracts. The SumContract contract provides an implementation ...