Skip to content

Instantly share code, notes, and snippets.

@vis-kid
Created February 4, 2022 20:07
Show Gist options
  • Save vis-kid/4a5f4425ccc1dec8e9c61eae85f53725 to your computer and use it in GitHub Desktop.
Save vis-kid/4a5f4425ccc1dec8e9c61eae85f53725 to your computer and use it in GitHub Desktop.
Created using remix-ide: Realtime Ethereum Contract Compiler and Runtime. Load this file by pasting this gists URL or ID at https://remix.ethereum.org/#version=soljson-v0.5.11+commit.22be8592.js&optimize=false&runs=200&gist=
pragma solidity 0.5.11;
contract A {
event Log(string message);
function foo() public {
emit Log("Contract A.foo was called");
}
function bar() public {
emit Log("Contract A.bar was called");
}
}
contract B is A {
function foo() public {
emit Log("Contract B.foo was called");
A.foo();
}
function bar() public {
emit Log("Contract B.bar was called");
super.bar();
}
}
contract C is A {
function foo() public {
emit Log("Contract C.foo was called");
A.foo();
}
function bar() public {
emit Log("Contract C.bar was called");
super.bar();
}
}
contract D is B, C {
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment