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
};