Updated constructors and pragma solidity lines.

Updated the Inheritance section of the docs in order to correct old constructor formats and update them to the new constructor() format.
This commit is contained in:
Matthew Ludwig 2018-04-20 16:50:00 -04:00
parent c8167a9acd
commit cf347745bd

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;