【C++】转换构造函数和类型转换函数

您所在的位置:网站首页 具有转换函数功能的构造函数称为 【C++】转换构造函数和类型转换函数

【C++】转换构造函数和类型转换函数

2024-07-15 16:44| 来源: 网络整理| 查看: 265

这一块知识点在学习C++时没有深入了解,在查看opencv基本数据结构定义的源码中看到了,记录一下该知识点。

转换构造函数:预定义类型转换成类类型

一般形式

class C { public: double real; double imag; C() {} C(double i, double r) { real = i; imag = r; } C(double r) { real = r; imag = 0; }//转换构造函数 C operator +(C &c1) { C tem; tem.real = c1.real + this->real; tem.imag = c1.imag + this->imag; return tem; } /*friend C operator +(C &c1, C&c2) { C tem; tem.real = c1.real + c2.real; tem.imag = c1.imag + c2.imag; return tem; }*/ }; int main() { C c1(1.1, 2.2); C c2; C c3; //不同调用转换构造函数的方式 c2= C(2.3) + c1;//C(2.3)调用转换构造函数 c3 = 4;//调用转换构造函数 // C trans(int a) // { return a} // 该方式也调用转换构造函数 int->C //b = a + C(2.3);//出错,将+重载函数要为friend cout


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3