My notes say:
// Declare an object of class WiFiClient
// Declare an object of class PubSubClient, which receives as input the constructor previously defined with WiFiClient.
// The constructor MUST be unique on the network.
My question. I have always taken care to make sure the constructor is always different in different programs, but, is this necessary?
No idea what you just said or what constructor has anything to do with all this ( most likely you call a constructor something else which makes it confusing) You will have to explain what you mean