int main()
{
String obj1="Hello"; //calls String::String(const char*) constructor
String obj2; //calls String::String() constructor
obj2=obj1; //calls String::operator=(const String&) function
//It founds it. If it would fail it would try to find any other String::operator= functions
//And convert right hand side operand to accepted type.
}