Sub-Class "checker" does not override all virtual methods of abstract superclass 'ovm_subscriber"

In reply to dave_59:

Thanks, but… I’m getting error as below…

**Argument name ‘item’ for virtual method ‘write’ in sub class ‘dsp_stream_checker’ does not match the argument name ‘t’ in superclass ‘ovm_subscriber__1’.

Here is the super class:**

*virtual class ovm_subscriber #(type T=int) extends ovm_component;

typedef ovm_subscriber #(T) this_type;

// Port: analysis_export
//
// This export provides access to the write method, which derived subscribers
// must implement.

ovm_analysis_imp #(T, this_type) analysis_export;

// Function: new
//
// Creates and initializes an instance of this class using the normal
// constructor arguments for <ovm_component>: ~name~ is the name of the
// instance, and ~parent~ is the handle to the hierarchical parent, if any.

function new (string name, ovm_component parent);
super.new(name, parent);
analysis_export = new(“analysis_imp”, this);
endfunction

// Function: write
//
// A pure virtual method that must be defined in each subclass. Access
// to this method by outside components should be done via the
// analysis_export.

pure virtual function void write(T t);

endclass*
**
Here is my sub-class…**

class dsp_stream_checker extends ovm_subscriber #(dsp_sequence_item);

`ovm_component_utils(dsp_stream_checker);

function new(string name = “dsp_stream_checker”, ovm_component parent);
super.new(name, parent);
endfunction

//ovm_analysis_export (#dsp_sequence_item) a_exp;
// Need to create an export on new data type?

function void write (dsp_sequence_item item);
$display(“I am here”);
endfunction

endclass

Please explain…

Thanks.

John