-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathMultipleInheritance.sol
More file actions
38 lines (32 loc) · 866 Bytes
/
MultipleInheritance.sol
File metadata and controls
38 lines (32 loc) · 866 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
pragma solidity ^0.8.9;
contract SumContract {
function Sum(uint a, uint b) public returns (uint) {
return a + b;
}
}
contract MultiContract is SumContract {
function Multiply(uint a, uint b) public virtual returns (uint) {
return a * b;
}
}
contract DivideContract is SumContract {
function Multiply(uint a, uint b) public virtual returns (uint) {
return a / b;
}
}
contract SubContract is SumContract, MultiContract, DivideContract{
function Sub(uint a, uint b) public returns (uint) {
return a - b;
}
function Multiply(uint a, uint b) public override(MultiContract, DivideContract) returns (uint) {
return a * b;
}
}
contract client {
function WorkWithInheritance() public returns (uint) {
uint a = 20;
uint b = 10;
SubContract subt = new SubContract();
return subt.Sum(a,b);
}
}