Merge pull request #3964 from MatthewDLudwig/develop

Updated constructors and pragma solidity lines.
This commit is contained in:
Alex Beregszaszi 2018-04-20 23:43:45 +01:00 committed by GitHub
commit d674cde34c
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -841,10 +841,10 @@ Details are given in the following example.
:: ::
pragma solidity ^0.4.16; pragma solidity ^0.4.22;
contract owned { contract owned {
function owned() { owner = msg.sender; } constructor() { owner = msg.sender; }
address owner; address owner;
} }
@ -875,7 +875,7 @@ Details are given in the following example.
// also a base class of `mortal`, yet there is only a single // also a base class of `mortal`, yet there is only a single
// instance of `owned` (as for virtual inheritance in C++). // instance of `owned` (as for virtual inheritance in C++).
contract named is owned, mortal { contract named is owned, mortal {
function named(bytes32 name) { constructor(bytes32 name) {
Config config = Config(0xD5f9D8D94886E70b06E474c3fB14Fd43E2f23970); Config config = Config(0xD5f9D8D94886E70b06E474c3fB14Fd43E2f23970);
NameReg(config.lookup(1)).register(name); NameReg(config.lookup(1)).register(name);
} }
@ -913,10 +913,10 @@ Note that above, we call ``mortal.kill()`` to "forward" the
destruction request. The way this is done is problematic, as destruction request. The way this is done is problematic, as
seen in the following example:: seen in the following example::
pragma solidity ^0.4.0; pragma solidity ^0.4.22;
contract owned { contract owned {
function owned() public { owner = msg.sender; } constructor() public { owner = msg.sender; }
address owner; address owner;
} }
@ -942,10 +942,10 @@ derived override, but this function will bypass
``Base1.kill``, basically because it does not even know about ``Base1.kill``, basically because it does not even know about
``Base1``. The way around this is to use ``super``:: ``Base1``. The way around this is to use ``super``::
pragma solidity ^0.4.0; pragma solidity ^0.4.22;
contract owned { contract owned {
function owned() public { owner = msg.sender; } constructor() public { owner = msg.sender; }
address owner; address owner;
} }
@ -1033,7 +1033,7 @@ Arguments for Base Constructors
Derived contracts need to provide all arguments needed for Derived contracts need to provide all arguments needed for
the base constructors. This can be done in two ways:: the base constructors. This can be done in two ways::
pragma solidity ^0.4.0; pragma solidity ^0.4.22;
contract Base { contract Base {
uint x; uint x;