c++,explicitの使い道について知りたい
explicitの明示的コンストラクタなの使い方なのですが、引数が一個の時だけ使えて
暗黙的型変換を防止できできてmain.cppのmain関数で test x = 5;という書き方がエラーになって。text x(4);はできる。。explicitを書かないとtest x = 5;のやり方が出来てtest x(4);もできるということはわかるのですが、暗黙的型変換の防止とこれをする使いみちを教えてほしいです。
class test {
private:
int x;
int y;
public:
int pri_x()const {
return x;
}
int pri_y()const{
return y;
}
explicit test(int a):x(a){ }
//test(int a):x(a){ }
};