Ethereum 为什么要将存在的solidity合同实例作为参数传递给合同构造函数
有关以下代码段,请参见 为什么这一行(将constact实例传递给构造函数)起作用<代码>计数器(_计数器[msg.sender])。增量(msg.sender)代码> 我在使用混音IDEEthereum 为什么要将存在的solidity合同实例作为参数传递给合同构造函数,ethereum,smartcontracts,Ethereum,Smartcontracts,有关以下代码段,请参见 为什么这一行(将constact实例传递给构造函数)起作用计数器(_计数器[msg.sender])。增量(msg.sender) 我在使用混音IDE contract CounterFactory { mapping(address => Counter) _counters; function createCounter() public { require (_counters[msg.sender] == Counter
contract CounterFactory {
mapping(address => Counter) _counters;
function createCounter() public {
require (_counters[msg.sender] == Counter(0));
_counters[msg.sender] = new Counter(msg.sender);
}
function increment() public {
require (_counters[msg.sender] != Counter(0));
Counter(_counters[msg.sender]).increment(msg.sender);
// The following line also works as usual.
// _counters[msg.sender].increment(msg.sender);
}
function getCount(address account) public view returns (uint256) {
require (_counters[account] != Counter(0));
return (_counters[account].getCount());
}
function getMyCount() public view returns (uint256) {
return (getCount(msg.sender));
}
}