github.com/iotexproject/iotex-core@v1.14.1-rc1/action/protocol/execution/testdata-istanbul/wireconnection.sol (about)

     1  pragma solidity ^0.8.4;
     2  
     3  abstract contract Feline {
     4      // This is how we write the abstract contract
     5      bytes32 name;
     6      function setname (bytes32 _name) public {
     7          name = _name;
     8      }
     9      function utterance() public virtual returns (bytes32);
    10      function Utterance() public virtual returns (bytes32);
    11  }
    12  
    13  // inherit the contract in cat and then override the function utterance with some full definition
    14  contract Cat is Feline {
    15      function utterance() pure public override returns (bytes32) { return "miaow"; }
    16      function Utterance() pure public override returns (bytes32) {
    17          return utterance();
    18      }
    19  }