PTCL *obj2;
This doesn't actually instantiate an object -- it just declares a pointer.
It looks like you don't actually need to a pointer here, so you can just change it to PTCL obj2;.
Also, your function calls are wrong.
For instance: obj2->Landline;
If obj2 is a pointer, then it should be obj2->Landline();, and if it's not (which is the case if you make the other change above), then it should be obj2.Landline();.