In reply to Vickyvinayk:
A pure virtual function is a placeholder for an implementation. Normally it is used in a virtual class. A virtiual class cannot be constructed.
WRT your code:
class fifo_coverage extends uvm_subcriber#(fifo_seq_item);
// ..
fifo_seq_item item;
..remaining code here
..
//
virtual function void write(fifo_seq_item t);
item = t;
sync_fifo_cov.sample();
endfunction
endclass:fifo_coverage
Don’t forget to construct your covergroup.