c++ - 自定义类的类型转换 - C++

标签 c++ variables type-conversion

我有一类复数,加载了 +、-、*、/、=、!= 运算符,两种方式都具有复数和 double 类型,但是当我编写代码时 complex z = 1,编译器给我一个错误,指出没有从 intcomplex 的变量转换。虽然,它接受代码

complex z;
z = 1;

一切正常。我该如何解决这个错误?

最佳答案

complex z = 1Copy Initialization .您需要一个合适的构造函数:

complex::complex(int i) // or double or whatever is convertible to int by
{                       // implicit conversion
    // your code
}

这不同于

complex z;
z = 1;

这是需要赋值运算符的赋值(对先前默认构造的对象)。

关于c++ - 自定义类的类型转换 - C++,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15576214/

相关文章:

C++ 默认值

c++ - 在 C/C++ DOS 中为文本着色的最简单方法?

python警告说 "Name "X“可以是未定义的”

c++ - 为什么在打印未初始化的变量时会看到奇怪的值?

qt - QByteArray到/从无符号字符转换*

python - 如何在Python中获取未转义的转义十六进制值

c++ - 如果你有两个同名函数(重载),并且有一个转换构造函数,转换构造函数会被调用吗?

c++ - 如何去除opencv中的二进制图像噪声?

c++ - 递归的概念

Java TimerTask 希望变量是最终的