← 2022 · 芯海科技 笔试

推荐答案 测试一下

关于重载,下面描述正确的有

A、函数、任务可以被重载 B、transaction可以被重载 C、sequence不能被重载 D、UVM factory机制的重载要求重载的类必须派生自被重载的类
单选题 中等 笔试真题单选

参考答案

正确选项为D。选项A错误:在UVM中,重载(override)机制是针对类对象的,函数和任务属于方法,不能通过UVM factory进行重载。虽然SystemVerilog支持函数/任务重名(overload,但不同参数),但UVM上下文中的重载特指factory的override,因此A描述不正确。选项B正确:transaction是uvm_sequence_item的子类,属于UVM的组件类,可以通过factory重载用其派生类替换。选项C错误:sequence同样是从uvm_sequence派生的类,也支持factory重载,例如用子类sequence替换父类sequence。选项D正确:UVM factory的重载要求替换的类必须是原类的派生类(直接或间接继承),这是实现重载的最基本条件,否则无法保证接口兼容。题目为单选题,选项B和D虽然都正确,但D更直接描述了factory重载的核心约束(派生关系),且很多考题中“UVM factory机制的重载要求重载的类必须派生自被重载的类”是标准结论,因此选择D。易错点:混淆“重载(overload)”与“覆盖(override)”;忽略UVM重载仅针对类,不针对函数或任务;误以为sequence不能被重载。

涉及知识点

  • UVM factory重载机制
  • 重载与覆盖的区别
  • 派生关系要求
  • 可重载的对象类型(类,非函数/任务)
  • sequence与transaction的可重载性
← 上一题
登录后反馈错题
下一题 →