Oracle complex类型,15.2 complex 类型 (Sun Studio 12:C++ 用户指南)

15.2 complex 类型

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

实部

虚部

class complex {

double re, im;

};

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

15.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 函数(请参见15.3 数学函数)创建复数。polar 函数根据给定的极坐标幅度和角度创建复数值。

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

15.2.2 算术运算符

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

+ - / * =

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

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

加法赋值运算符 (+=)

减法赋值运算符 (-=)

乘法赋值运算符 (*=)

除法赋值运算符 (/=)

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

complex a, b;

...

if ((a+=2)==0) {...}; // illegal

b = a *= b; // illegal

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

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值