有时候我们想将一个类类型转换为另一个类类型,同时,这两个类并不存在继承关系,这时候我们就需要一种叫做转换运算符的运算符. 一个简单的例子.要将类A转换为int类型 #include 可能你想将其强制转换.例如 int m=(int)a; 结果还是不行,因为编译器依然不知道应该怎么转换.
这时候,就需要转换运算符了. 这个转换运算符的类型如下: operator int ()const{ return n; } 函数名为operator int ,这个函数是没有返回类型的,因为返回类型是通过运算符的名称确定的:int 同时应声明为const,因为不会修改被调用的对象. 整个程序如下: #include
类类型转换为基本类型是这样,同样,转换为其他类类型也是同样的道理. #include
这样,我们就可以对不是同一条继承链上的类进行转换了!
—————————————————————————————————————————————————— //写的错误或者不好的地方请多多指导,可以在下面留言或者给我发邮件,指出我的错误以及不足,以便我修改,更好的分享给大家,谢谢。 转载请注明出处:https://www.royalchen.com/ author:royalchen Email:royalchen@royalchen.com ———————————————————————————————————————————————————
- 本文作者: royalchen
- 本文链接: http://www.royalchen.com/2016/02/24/c学习笔记33转换运算符/
- 版权声明: 本博客所有文章除特别声明外,均采用 MIT 许可协议。转载请注明出处!