I am looking way to create same parameterized class where based on parameter methods for the class will behave differently. In C i would implement this by using pointer to function and during creation will assign this pointer to different function, so user call same API.
The only way i can find would be using class that extends from class which methods i can override, but this would require user create different class.
Can't find in SystemVerilog something like pointer to function:
void (*foo)(int);