1、知识图谱
2、举例
例1:转换构造函数下理解全局函数重载和成员函数重载的区别
在上图中,转换构造函数可以将15.6和28.3等浮点数转换成Complex类型,这样便于参与运算,并且重要的是,转换完之后,这些数就可以使用成员函数了,因为他们已经被编译器修改成了Complex的对象。
另外,在编译器进行转换时,只会将参数进行转换,而不会将一个普通的数进行转换。
Complex c2 = c1 + 15.6会进行如下的转换:
Complex c2 = c1.operator+(Complex(15.6));这样的计算当然没有问题。
Complex c3 = 28.23 + c1;进行相应的转换之后:
Complex c3 = (28.23).operator+(c1);这样的计算无法完成,因为28.3不是参数,这样的形式本身就是有问题的。
上面的式子不会转换成Complex c3 = Complex(28.23).operator+(c1);因为28.23不是参数。