Solidity 练习:调用父构造函数

2022-12-29 Web3 Solidity

# 一、题目说明

有 2 种方法可以将参数传递到父构造函数中,如下所示:

// 2 ways to call parent constructors
contract U is S("S"), T("T") {

}

contract V is S, T {
    // Pass the parameters here in the constructor,
    constructor(string memory _name, string memory _text) S(_name) T(_text) {}
}
1
2
3
4
5
6
7
8
9

# 二、任务列表

  • 创建一个合约 W 继承 S 和 T。
  • W 的构造函数输入一个字符串,并将其传递给合约 T,将字符串 “S” 传递给合约 S。

# 三、解答代码

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.17;

contract S {
    string public name;

    constructor(string memory _name) {
        name = _name;
    }
}

contract T {
    string public text;

    constructor(string memory _text) {
        text = _text;
    }
}

contract W is S, T {
    constructor(string memory _text) S("S") T(_text) {}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22

# 四、参考资料

Last Updated: 2023-01-28 4:31:25