2013年8月7日

15.11重载解析与成员函数

摘要: 重载函数解析的三个步骤1.选择候选函数2.选择可行函数3.选择最佳匹配函数15.11.1重载成员函数的声明class myClass{public:void f(double);void f(char,char);};重载函数不能依据返回类型来判断,如void f();double f();重载函数可以包括静态与非静态的成员,如class myClass{public:void mf(double);static void mf(int *);};15.11.2候选函数class myClass{public:void mf(double);char mf(char,char='\n& 阅读全文

posted @ 2013-08-07 15:24 CQU 阅读(206) 评论(0) 推荐(0) 编辑

15.10 选择一个转换

摘要: 用户定义的转换包括调用转换函数,或者调用构造函数class Number{public :operator float();operator int();//...};Num num;float ff = num //调用operator float()函数。因为:operator float() ->精确匹配operator int() ->标准转换精确匹配优于标准转换两个构造函数都能把一个值变成转换的目标类型,如:class SmallInt{public :SmallInt(int val):val(val){}SmallInt(double dval):value(stat 阅读全文

posted @ 2013-08-07 10:42 CQU 阅读(196) 评论(0) 推荐(0) 编辑

15.9 用户定义的转换

摘要: 1 class SmallInt{ 2 friend operator+(const SmallInt&,int); 3 friend operator-(const SmallInt&,int); 4 friend operator+(int,const SmallInt&); 5 friend operator-(int,const SmallInt&); 6 public: 7 Samll(int ival):value(ival){}; 8 operator+(const SmallInt&); 9 operator-(const SmallIn 阅读全文

posted @ 2013-08-07 09:56 CQU 阅读(283) 评论(0) 推荐(0) 编辑

导航