C++ 中的转换运算符
c++server side programmingprogramming
在本文中,我们将了解 C++ 中的转换运算符是什么。C++ 支持面向对象设计。因此,我们可以将一些现实世界的对象创建为具体类型。
有时我们需要将一些具体类型的对象转换为其他类型的对象或一些原始数据类型。为了进行这种转换,我们可以使用转换运算符。这就像在类中创建运算符重载函数一样。
在此示例中,我们采用一个复数类。它有两个参数:实数和虚数。当我们将此类的对象分配给一些双精度类型数据时,它将使用转换运算符转换为其大小。
示例代码
#include <iostream> #include <cmath> using namespace std; class My_Complex { private: double real, imag; public: My_Complex(double re = 0.0, double img = 0.0) : real(re), imag(img) //默认构造函数{} double mag() { //获取幅度的正常函数 return getMagnitude(); } operator double () { //转换为生成幅度的转换运算符 return getMagnitude(); } private: double getMagnitude() { // 查找复杂对象的幅度 return sqrt(real * real + imag * imag); } }; int main() { My_Complex complex(10.0, 6.0); cout << "使用正常函数的幅度:" << complex.mag() << endl; cout << "使用转换运算符的幅度:" << complex << endl; }
输出
使用正常函数的幅度:11.6619 使用转换运算符的幅度:11.6619