首页 > 学院 > 开发设计 > 正文

类的自动转换和强制类型转换

2019-11-11 05:21:43
字体:
来源:转载
供稿:网友

发生在例如对象赋给int或者int赋给对象的场合下。

1、int等赋给对象

任何接收唯一一个参数(或者其它有默认参数,只剩一个未知参数)的构造函数都可被用作转换函数,将类型与该参数相同的值转换为类。如果将类型与该参数相同的值赋给对象,则C++自动调用该构造函数,称隐式转换。可以在构造函数前加关键字explict,关闭这种特性,只允许显式转换(即(类)这样的转换,类似于普通类型的强制转换)。

2、对象赋给int等

需要定义转换函数,转换函数必须是成员函数,原型如下:

Operator typeName();

其没有返回类型,没有参数,但必须返回转换后的值(虽然没有声明返回类型)。例如:

operator int() const;

使用的时候可显式或隐式,但经验表明,最好不要依赖于这种隐式转换函数。


上一篇:final 关键字

下一篇:pdf2swf

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表