我有Car合同,继承自BasicData和Ownership。 当汽车转移给新主人时,我想发出一个事件。 在那种情况下,我需要在该事件中传递汽车的ID以用于记录。
contract Car is BasicData, Ownership
{
// does all kinds of stuff
}
_
contract BasicData
{
uint public _id;
// etc
}
_
contract Ownership
{
address owner;
function transferOwnership(address newOwner) public onlyOwner {
owner = newOwner;
emit Update("Contract with ID changed owner", _id, newOwner)
}
}
如何使用_id
方法访问transferOwnership
?
答案 0 :(得分:0)
您无法访问_id
中的Ownership
,因为它没有这样的状态变量并且不会继承任何东西。
您可以访问_id
中的Car
,因为它确实继承自声明该变量(BasicData
)的内容。
可能的解决方法是让Ownership
继承自BasicData
。 (然后Car
可以仅继承Ownership
。)