C++中的关键字explicit
2010-03-27 11:00
211 查看
在 C++ 中, 如果一个类有只有一个参数的构造函数,C++ 允许一种特殊的声明类变量的方式。在这种情况下,可以直接将一个对应于构造函数参数类型的数据直接赋值给类变量,编译器在编译时会自动进行类型转换,将对应于构造函数参数类型的数据转换为类的对象。 如果在构造函数前加上 explicit 修饰词, 则会禁止这种自动转换,在这种情况下, 即使将对应于构造函数参数类型的数据直接赋值给类变量,编译器也会报错。
#include <iostream> class Test1 { public: Test1(int n) { num = n; } private: int num; }; class Test2 { public: explicit Test2(int n) { num = n; } private: int num; }; int main() { Test1 t1 = 12; Test2 t2 = Test2(12); Test2 t3(12); return 0; }
相关文章推荐
- C++中的explicit关键字
- c++中的explicit关键字
- C++的explicit关键字
- C++ explicit关键字详解
- C++ explicit关键字应用方法详解
- C++ 中的 explicit 关键字
- C++的explicit关键字
- c++中的explicit关键字
- c++中的explicit关键字【转】
- [转]C++中explicit关键字的作用
- 从Qt谈到C++(一):关键字explicit与隐式类型转换
- 【C++】explicit关键字
- C++ explicit关键字
- c++中的explicit关键字
- C++ 中 explicit 关键字的作用
- C++ explicit关键字详解(转载)
- C++当中构造函数前面添加explicit关键字的作用
- C++ explicit关键字详解
- C++中explicit关键字用法