1.
类型转换函数的特征:
1)
2)
3)
语句,在return语句中返回目标类型数据或调用目标类的构造函数。
类型转换函数主要有两类:
1)
对象向不同类的对象的转换:
例程1:
//通过类型转换函数求半径为5的圆的面积
//并将其存储在float型变量中打印输出
#i nclude <iostream>
using namespace std;
class CArea
{
public:
//将面积类对象转换为float型数据
};
class CCircle
{
public:
};
void main()
{
}
2.
操作符重载的概念:
注意事项:
1)
2)
3)
4)
5)
.
*
::
? :
sizeof 操作数的字节数
例程2:
//重载大于号操作符比较两个人的工资
#i nclude <iostream>
using namespace std;
class employee
{
public:
};
void main()
{
}
声明:operator XX(); 无返回值,XX就是某个类型;
用法:XX a = (XX)obj; 假设上边SocketAddress非abstract类,例如:SocketAddress sa; int a = (socklen_t)sa; 也就是此时会调用原成员函数operator XX(); 一般返回XX类型值,可以理解成类型转换的重载!
另外:一个自定义类的 构造函数可以用作隐形的类型转换,例如:Class A { A(int i) { val = i}; private int val;} , A a = 5; 解:5 首先通过构造函数A(int)隐形的转换为A类型,然后调用默认的operator=赋值函数,赋值给a;