您的位置:首页 > 编程语言 > C语言/C++

【c++程序】调用构造函数进行类型转换

2014-11-20 16:23 225 查看
#include<iostream>
using namespace std;
class A
{
public:
	 explicit A(int x){i=x;cout<<"执行构造函数"<<i<<endl;}
	~A(){cout<<"执行析构函数"<<i<<endl;}
	void get(){cout<<i<<endl;}
private:
	int i;
};
int main()
{
    A a(9);
	a.get();
	//a=1000;去掉explicit为隐式转换
    a=A(100,2);//显式转换
	return 0;
}
/*把数字当作对象赋给另一个对象,在对该赋值表达式进行计算时  首先要对数字进行类型转换,
同时判断该类的构造函数的参数是  否与数字的类型匹配,假如匹配则调用构造函数创建一个临时对
象,跟着将该临时对象赋值给赋值操作符左边的对象,最后调用  析构函数删除临时对象*/
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: