【C++】 关键字explicit


#include <iostream>
class MyClass
{
public:
    // explicit MyClass(int n){a = n;}
    MyClass(int n){a = n;}
private:
    int a;
};

int main(int argc, char *argv[])
{
    MyClass m2(2);
    MyClass m1 = 1;             // 隐式转化,把int型转化为了MyClass型
                                // 加上关键字explicit,此句便非法,编译会提示int不能转化为MyClass型
    MyClass* p = new MyClass(1);
    return 0;
}
posted @ 2011-08-28 01:20  visayafan  阅读(195)  评论(0)    收藏  举报