c++ - Confused between a copy constructor and a converting constructor -
since have doubts question (for c++03) posting here.i read conversion constructors , states "to converting constructor, constructor must have single argument , declared without keyword explicit." now question whether copy constructor can called conversion constructor provided not explicitly declared ? qualify 1 ? believe cant called conversion constructor because accepts same type parameter ths resulting in no conversion. instance foo a; foo b; = 100; //a conversion constructor called (i.e) foo(int a){...} = b ; //since both objects same type , have been initialized assignment operator called (if there overloaded version otherwise default called) is understanding correct ? quoting standard: [class.conv.ctor]/3 a non-explicit copy-constructor (12.8) converting constructor . implicitly-declared copy constructor not explicit constructor; may called implicit type conversions. so yes, copy-ctor converting ctor. also note [conv]/1 specifies ,...