设为首页 加入收藏

TOP

C++中explicit关键字的作用
2017-06-14 10:22:47 】 浏览:9843
Tags:explicit 关键字 作用

C++中explicit关键字的作用

C++中,explicit关键字用来修饰类的构造函数,被修饰的构造函数的类,不能发生相应的隐式类型转换,只能以显示的方式进行类型转换。explicit 关键字只能用于类内部的构造函数声明上作用于单个参数的构造函数;,explicit关键字用来修饰类的构造函数,被修饰的构造函数的类,不能发生相应的隐式类型转换。

class Things

{

public:

Things(const std::string&name =""):

m_name(name),height(0),weight(10){}

int CompareTo(const Things & other);

std::string m_name;

int height;

int weight;

};

这段代码中things的构造函数可以只用一个实参完成初始化,故可以进行一个隐式转换,

things a;

................//在这里被初始化并使用。

std::string nm ="book_1";

//由于可以隐式转换,所以可以下面这样使用

int result = a.CompareTo(nm);

这段程序使用一个string类型对象作为实参传给things的CompareTo函数。这个函数本来是需要一个tings对象作为实参。现在编译器使用string nm来构造并初始化一个

things对象,新生成的临时的things对象被传递给CompareTo函数,并在离开这段函数后被析构。


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇C++中栈与堆的区别 下一篇线性回归 c++

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目