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
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
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22