pragma solidity ^0.4.18; contract A { uint public a = 0; function f() internal { a = a * 10 + 1; g(); } function g() internal { a = a * 10 + 2; } } contract B is A { function f() internal { a = a * 10 + 3; super.f(); } function g() internal { a = a * 10 + 4; super.g(); } } contract C is B { function fp() public { super.f(); } function fpA() public { A.f(); } function fpB() public { B.f(); } function reset() public { a = 0; } }
0.4.18