问题描述
- C++中类型转换函数问题
-
#include
using namespace std;
class Complex
{
public:
Complex(){ real = 0; imag = 0; }
Complex(double r, double i){ r = real; i = imag; }
operator double(){ return real; }
private:
double real;
double imag;
};int main()
{
Complex c1(3, 4), c2(5, -10), c3;
double d;
d = 2.5 +c1;
cout << d << endl;
return 0;}
这是《C++程序设计 》谭浩强版本P339的一个例子,为什么,我用VS2013运行后得到的是-9.25596e+061,请问哪里出错了,为什么会有这个值,谢谢!
解决方案
Complex(double r, double i){ r = real; i = imag; }
写反了
Complex(double r, double i){ real = r; iimag = i; }
另外谭浩强的垃圾书就不要看了。此人坑害中国学生20年,也算奇葩了。
解决方案二:
C++类型转换函数
C++ 中的类型转换函数
c++类型转换函数
时间: 2024-10-31 06:20:52