码迷,mamicode.com
首页 > 其他好文 > 详细

GeekBand第二三周学习笔记

时间:2016-11-01 00:50:31      阅读:145      评论:0      收藏:0      [点我收藏+]

标签:转换   多个   version   默认   class   学习笔记   否则   编译   function   

conversion function(转换函数)

 1 class Fraction
 2 {
 3 public:
 4     Fraction(int num, int den=1)
 5     : m_numerator(num), m_denominator(den){ }
 6     operator double() const {
 7         return (double)(m_numerator / m_denominator);
 8     }  //转换函数
 9 private:
10     int m_numerator;
11     int m_denominator;
12 };

  operator type()转换函数不需要声明返回类型,返回值类型为type,一个类的转换函数可以有任意多个,转换函数会被编译器作为进行默认类型转换的调用对象,还有转换函数最好加上const,否则const修饰的类型则无法使用此转换函数.

double d=Fraction(2,3)+3.5; //合法的表达式,Fraction会被转换为double进行加运算;

  

GeekBand第二三周学习笔记

标签:转换   多个   version   默认   class   学习笔记   否则   编译   function   

原文地址:http://www.cnblogs.com/DecepH/p/notesforgeekband_3.html

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