引出:学习C++过程中,遇到很多数据类型的转换,分为隐式转换和显示转换,如下就是最普通的转换
int a=3.2;//隐式转换,因为C++编译环境已对基本数据类型进行了转换函数的声明及定义
double b;
int a=int(b);//显式转换,也可以成为强制类型转换。或int a=(int)b;
但是用户自己定义的数据类型则不能像基本数据类型一样来进行转换,她要用到单参数的构造函数(基本数据类型=>自己定义的数据类型)和转换函数(自己定义的数据类型=>基本数据类型)来进行抽象数据类型和基本数据类型之间的转换。
一、基本数据类型=>自己定义的数据类型
涉及到构造函数和关键字implicit和explicit。(默认的是implicit,不用用该关键字声明构造函数)
1.1 隐式转换implicit
</pre><pre name="code" class="cpp">#include <iostream>
using namespace std;
class Convert
{
private:
int a;
double b;
public:
Convert();
Convert(int c);//默认隐式转换,
void show();
};
void display(Convert ct,double n1);
Convert::Convert()
{}
Convert::C