Final answer:
You must qualify the name of a public class member if it is to be used outside its class to avoid ambiguity and make the code clear.
Step-by-step explanation:
The condition under which you must qualify the name of a public class member is: a) If it is to be used outside its class. Within a class's own scope, you can reference its public members directly using their names. However, if you are outside the context of the class (say, in another class or in some function outside the class), you should usually qualify the public member with the class name or an instance name to which it belongs to avoid ambiguity and to make the code clearly understandable. It's not necessary but it's considered good practice, especially in cases where the context might not make the ownership of the member clear.