码迷,mamicode.com
首页 > 其他好文 > 详细

explicit 只对构造函数起作用,用来抑制隐式转换。

时间:2016-06-15 15:45:52      阅读:130      评论:0      收藏:0      [点我收藏+]

标签:

class A
{
private:
	int a;
public:
	A(int x) :a(x){}
	void display(){ cout << a << endl; }
	void display()const{ cout << "ddd" << endl; }
};

void f(A a)//因为下面数据是常量,不能用&;因为用const就不能使用display
{
	a.display();
}
int main()
{
	A a(2),A  b(‘a‘);//隐式转换
	f(‘3‘);//隐式转换
	f(2);//影视转换
	A c = 13;//隐式转换
	a.display();
	b.display();
	c.display();
}

  

explicit 只对构造函数起作用,用来抑制隐式转换。

标签:

原文地址:http://www.cnblogs.com/vhyc/p/5587606.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!