复数
严格来说,复数类型并不是c++语法的一部分,而且也有很多的人根本用不上复数,或者没有相关的数学知识。但是考虑到确实有很多人有使用复数的需求。最终决定还是将其放在这里。
复数的实现被放在了头文件<complex>中,使用前需要先引入头文件,#include <complex>
可选的三种模板类型
1,complex<float>
2,complex<double>
3,complex<long double>
?初始化方法
为复数指定一个实部和虚部即可完成对复数的初始化
#include <iostream>
#include <complex>
using namespace std;
int main()
{
complex<double> a(3.0, 4.0);
cout << a << endl;
complex<double> b;
double num1 = 6.0;
// 将double类型赋值给复数类型,可以
b = num1;
cout << b << endl;
double num2;
// 将复数类型赋值给double,不行
// num2 = b;
// 通过运算符,可以正常的进行复数之间的运算
complex<double> c = a + b;
cout << c << endl;
}
实部和虚部
real:返回实部
imag:返回虚部
#include <iostream>
#include <complex>
using namespace std;
int main()
{
complex<double> a(3.0, 4.0);
// 以下两种real和imag的使用方式都可以
// 没有什么区别,喜欢用哪种都一样
cout << a.real() << endl;
cout << a.imag() << endl;
cout << real(a) << endl;
cout << imag(a) << endl;
}
注:关于复数的运算,还有很多的函数,包括幂函数,指数函数,三角函数,双曲函数的计算等等。由于这部分的内容不是大多数人能用得上的,所以我并不打算在这里叙述。后续我会将其放在标准库的部分之中。
点击查看全部c++教程
|