类的自动传唤和强制类型转换
来源:互联网 发布:淘宝店铺出租风险 编辑:程序博客网 时间:2024/05/16 00:10
一、其他的类型自动转换为类的类型
定义如下的类:
--------------------------------------------------------
class Test
{
};
Test::Test(double aa)
{
}
Test::Test(int bb)
{
}
Test::Test(double aa ,int bb)
{
}
void Test::show()const
{
}
---------------------------------------------------------
double aa = 12.3;
int bb = 12;
Test t1 = aa;
t1.show();
Test t2 = bb;
t2.show();
只需要将构造函数的声明修改一下(函数定义中不用再使用explicit):
explicit Test(double aa);
explicit Test(int bb);
二、类的类型转换为其他类型
将上面的类修改一下。
class Test
{
Test::Test(double aa)
{
}
Test::Test(int bb)
{
}
Test::Test(double aa ,int bb)
{
}
void Test::show()const
{
}
Test::operator double()const
{
}
Test::operator int()const
{
}
或者:
因此,通常,类转换为其他类型时,都不适用转换函数,而是用户自定义一个需要显示调用的函数,类似于:
double Test_to_double()。
转换的过程允许先进行其他级别的转换。例如,如果没有定义Test(int bb)这个构造函数。如下语句也是可以运行的:
int bb = 12;
Test tt = bb;
这里bb将先被转换成double,再使用Test(double aa)转换成tt。
- 类的自动传唤和强制类型转换
- 类的自动类型转换和强制类型转换
- 类的自动类型转换和强制类型转换
- 类的自动类型转换和强制类型转换
- 类的自动转换和强制类型转换
- 类的自动转换和强制类型转换
- C++:类的自动转换和强制类型转换
- C++类的自动转换和强制类型转换
- java的自动类型转换和强制类型转换
- Java:自动类型转换和强制类型转换的规则
- 基本数据的自动类型转换和强制类型转换
- 自动和强制类型转换
- 自动类型转换和强制类型转换
- C++之类的自动转换和强制类型转换
- 自动类型提升和强制类型转换
- C++ 类的自动转换与强制类型转换
- 学习C++——类的自动转换和强制类型转换
- 《C++ primer plus》:类的自动转换和强制类型转换
- OpenGL_ES- 状态查询
- JAVA的数据类型
- php五大运行模式CGI,FAST-CGI,CLI,ISAPI,APACHE模式浅谈
- oracle 刷新组保证主从表的数据同步拷贝
- ASP.NET GridView导出
- 类的自动传唤和强制类型转换
- EMVTag系列1《数据分组》
- Java直接调用Python
- 关于gap的Buchberger算法
- C++指针理解
- 备忘
- AndroidPN 推送服务环境建立
- Objc Runtime 学习笔记
- LeetCode :House Robber