sir separate chaining ki implementation vali video me why we make node class template and how we can write node obj what is the meaning of it?
Regarding hashing implementation
class node{ public: string key; T value; node*next; node(string key,T value){ this->key=key; this->value=value; next=NULL; } ~node(){ if(next!=NULL){ delete next; } } };
So u want to ask why we are creating a template?
We are making it so that it becomes generic(similar to STL) and can be used for any data type.
to create its object
node<int> obj;
or
node<string> obj ;
or any data type u want.
Meaning of what?
what is the meaning of node obj ?is it mean that node class can contain only integer and this is true why we can contain different data type in node class inspite of declaring node obj
node<int> object;
this means whereever u have written T in node class ,it will be replaced by int .
So in above code u sent its used to make a node class in which key is always string and value we can decide if we want it to be int or string or some other data type.
If u want to create a map for int values then u have to use node<int> everywhere
We do this so that we don’t have to rewrite the code again if we want value type as string or float or some other datatype.
I think u haven’t studies templates and directly jumped to it,so my suggestion is read about templates also 
Its not necessary to make it a template u can stick to normal implementation , but using templates make it generic and we dont have to rewrite the code.