C++中怎么实现隐式转换,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。
C++隐式转换发生在四种情况下
* 在混合类型的算术表达式中
int ival = 3; double dval = 3.1415 ival + dval; //ival 被提升为double 类型:3.0
* 用一种类型的表达式赋值
int *pi = NULL; // NULL(0)被转换成了int* 类型的空指针值
* 用一个表达式传递给一个函数调用
extern double sqrt(double); sqrt(2); //2被提升为double类型: 2.0
* 从一个函数返回一个表达式
double difference(int ival1, int ival2) { return ival1 - ival2; //返回值被提升为double 类型. }
C++内建类型(char,int,short,double etc.)对像之间默认含有隐式转换
C++用户定义类对象之间可以含有C++隐式转换.
void dosomething(A aObject); class A { public: A(int x = 0); } dosomething(20); // Ok 隐式转换
看完上述内容,你们掌握C++中怎么实现隐式转换的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注亿速云行业资讯频道,感谢各位的阅读!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。