Explicit keyword in C++ by R4R Team

Why explicit is used?
-A constructor declared without the function-specifier explicit specifies a conversion from the types of its parameters to the type of its class. Such a constructor is called a converting constructor.

class String {
String(int n); // allocate n bytes to the String object
String(const char *p); // initializes object with char *p
Now, if you try:
String mystring = 'x';
The character 'x' will be implicitly converted to int and then the String(int) constructor will be called. But, this is not what the user might have intended. So, to prevent such conditions, we shall define the constructor as explicit:
class String {
explicit String (int n); //allocate n bytes
String(const char *p); // initialize object with string p

Leave a Comment:
R4R Team
R4Rin Top Tutorials are Core Java,Hibernate ,Spring,Sturts.The content on R4R.in website is done by expert team not only with the help of books but along with the strong professional knowledge in all context like coding,designing, marketing,etc!