JavaScript is required to for searching.
跳过导航链接
退出打印视图
Oracle Solaris Studio 12.2:C++ 用户指南
search filter icon
search icon

文档信息

前言

第 1 部分C++ 编译器

1.  C++ 编译器

2.  使用 C++ 编译器

3.  使用 C++ 编译器选项

第 2 部分编写 C++ 程序

4.  语言扩展

5.  程序组织

6.  创建和使用模板

7.  编译模板

8.  异常处理

9.  改善程序性能

10.  生成多线程程序

第 3 部分库

11.  使用库

12.  使用 C++ 标准库

13.  使用传统 iostream

14.  使用复数运算库

14.1 复数库

14.1.1 使用复数库

14.2 complex 类型

14.2.1 complex 类的构造函数

14.2.2 算术运算符

14.3 数学函数

14.4 错误处理

14.5 输入和输出

14.6 混合模式运算

14.7 效率

14.8 复数手册页

15.  生成库

第 4 部分附录

A.  C++ 编译器选项

B.  Pragma

词汇表

索引

14.2 complex 类型

复数运算库定义了一个类:complex 类。complex 类的对象可以存放一个复数。复数由两部分构成:

class complex {
    double re, im;
};

complex 类的对象值是一对 double 值。第一个值表示实部,第二个值表示虚部

14.2.1 complex 类的构造函数

有两个用于 complex 的构造函数。它们的定义是:

complex::complex()            {re=0.0; im=0.0;}
complex::complex(double r, double i = 0.0) {re=r; im=i;}

如果声明复数变量时没有指定参数,则会使用第一个构造函数并初始化变量,因此两个部分都为 0。以下示例创建了一个其实部和虚部均为 0 的复数变量。

complex aComp;

您可以给定一个或两个参数。无论是以上哪种情况,都将使用第二个构造函数。如果只给定一个参数,该参数将作为实部的值,而虚部的值设置为 0。例如:

complex aComp(4.533);

用下列值创建一个复数变量:

4.533 + 0i

如果给定了两个值,第一个值被视为实部的值,而第二个值被视为虚部的值。例如:

complex aComp(8.999, 2.333);

用下列值创建一个复数变量:

8.999 + 2.333i

也可以使用复数运算库中提供的 polar 函数(请参见14.3 数学函数)创建复数。polar 函数根据给定的极坐标幅度和角度创建复数值。

没有用于 complex 类型的析构函数。

14.2.2 算术运算符

复数运算库定义了所有基本的算术运算符。具体来说,以下运算符按一般方法和普通的优先级工作:

+ - / * =

减法运算符 (-) 具有其通常的二元和一元含义。

此外,您可以按通常的方法使用以下运算符:

但是,若将以上四个运算符用于表达式,则不产生任何值。例如,下列表达式无法进行运算:

complex a, b;
...
if ((a+=2)==0) {...}; // illegal
b = a *= b; // illegal

另外还可以使用等号 (==) 和不等号 (!=),它们具有常规含义。

将运算表达式中的实数和复数混合时,C++ 使用复数运算符函数并将实数转换为复数。