C++-এ স্পষ্ট কীওয়ার্ড ব্যবহার করা হয় কনস্ট্রাক্টরদের চিহ্নিত করতে যাতে টাইপগুলোকে রুপান্তরিত না হয়। উদাহরণস্বরূপ, যদি আপনার একটি ক্লাস Foo −
থাকেclass Foo { public: Foo(int n); // allocates n bytes to the Foo object Foo(const char *p); // initialize object with char *p };
এখন আপনি যদি চেষ্টা করেন
Foo mystring = 'x';
অক্ষর 'x' স্পষ্টভাবে int-এ রূপান্তরিত হয় এবং তারপর Foo(int) কন্সট্রাক্টরকে কল করবে। কিন্তু এই উদ্দেশ্য কি ছিল না. তাই এই ধরনের শর্তগুলি প্রতিরোধ করতে এবং কোডটিকে কম ত্রুটি-প্রবণ করতে, কনস্ট্রাক্টরকে স্পষ্ট হিসাবে সংজ্ঞায়িত করুন -
উদাহরণ
class Foo { public: explicit Foo (int n); //allocate n bytes Foo(const char *p); // initialize with string p };