C++转换构造函数和类型转换函数_梵希栀子的博客-优快云博客_c++转换构造函数
转换构造函数:
1、作用:其他类型转换(普通数据类型或者其他)——> 自定义对象
2、书写格式:Complex (double r) { } //要求形参只能有一个参数
3、注意点:转换构造函数配合使用运算符重载函数实现操作数交换律,要求是运算符重载函数是友元函数。
类型转换函数:
1、作用:自定义对象 ——> 普通类型
2、书写格式:operator double() { return real; } //要求函数名称为要转换的类型且函数无形参
3、注意点:与运算符重载具有二义性,使用过程中需要注意。
比如说,转换构造函数可以把double类型隐式转换为Complex对象,实现Complex +double=Complex 的运算 ;
而类型转换函数是相反的,把Complex对象隐式转换成double对象,实现Complex +double=double。
1.转换构造函数
#include<iostream>
using namespace std;
class Complex {
public:
Complex (double