码迷,mamicode.com
首页 > 编程语言 > 详细

C++ 类型转换运算符

时间:2015-07-16 21:58:16      阅读:173      评论:0      收藏:0      [点我收藏+]

标签:

  1. #include <iostream>
  2. using namespace std;
  3. class SmallInt
  4. {
  5. public:
  6. /**
  7. * implicit constructor
  8. * 实现int类型转换为SamllInt类型
  9. */
  10. SmallInt(const int val): value(val)
  11. {
  12. cout << "SmallInt(const int val)" << endl;
  13. }
  14. /**
  15. * class-type conversion
  16. * 无显式返回类型
  17. * 无形参
  18. * 必须定义成类的成员函数
  19. * 一般被定义成const类型
  20. */
  21. operator int()const /* SmallInt类型在需要的时候会转化为int类型 */
  22. {
  23. cout << "operator int()const" << endl;
  24. return value;
  25. }
  26. int getValue() const
  27. {
  28. return value;
  29. }
  30. private:
  31. int value;
  32. };
  33. void testTypeConversion()
  34. {
  35. SmallInt smallInt = 1;/* SmallInt smallInt = SmallInt(1) */
  36. cout << smallInt.getValue() << endl;
  37. cout << smallInt + 2 << endl;
  38. }
  39. void testTypeConversion2nd()
  40. {
  41. SmallInt smallInt = 3.14;/* 3.14转化为int型为3 */
  42. cout << smallInt.getValue() << endl;
  43. cout << smallInt + 3.14 << endl; /* SmallInt类型先转化为int,再转化为double*/
  44. }
  45. int main()
  46. {
  47. testTypeConversion();
  48. testTypeConversion2nd();
  49. return 0;
  50. }
?运行结果如下图所示:
技术分享





C++ 类型转换运算符

标签:

原文地址:http://www.cnblogs.com/fengkang1008/p/4652217.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!