Skip to content

Instantly share code, notes, and snippets.

@ArslanKathia
Created January 26, 2023 17:29
Show Gist options
  • Save ArslanKathia/b13ffb1ed6a741c4a30e3113133cce88 to your computer and use it in GitHub Desktop.
Save ArslanKathia/b13ffb1ed6a741c4a30e3113133cce88 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.8.7+commit.e28d00a7.js&optimize=false&runs=200&gist=
//SPDX-License-Identifier: MIT
pragma solidity ^0.8;
contract A{
uint private x= 100;
uint public y =200;
address private addr = msg.sender;
function fun1() public pure returns(string memory){
return " i am in contract A fun1";
}
function fun2() public pure returns(string memory){
return " i am in contract A fun2";
}
//add the virutal keyword to edit this function in derived class
function fun3() public pure virtual returns(string memory){
return " i am in contract A fun3";
}
function fun4() public pure virtual returns(string memory){
return " i am in contract A fun4";
}
}
contract B is A{
//add override keyword in derived function to use in derived contract
function fun3() public pure override returns(string memory){
return " i am in contract B func3";
}
function fun4() public pure virtual override returns(string memory){
return " i am in contract B func4";
}
}
contract C is B{
function fun4() public pure override returns(string memory){
return " i am contract C fun4";
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment