AS3:在C ++ for actionscript中是否存在类似union的等价类型?

时间:2013-12-19 16:32:58

标签: actionscript-3

我遇到了这样的问题,我想将一些代码从C ++移植到ActionScript中   我知道我们可以使用类来模拟结构,但是如何像下面的代码一样处理联合?

typedef union
{
struct { byte l,h; } B;
word W;
} pair;

1 个答案:

答案 0 :(得分:0)

虽然它不是实现union类型的完美匹配方式,因为在AS3中没有联合类型,在JAVA中。所以我使用getter和setter来模拟它们 希望我的代码可以激励你: - )

package {

public class pair {
    private var l:int;
    private var h:int;

    public function get L():int
    {
        return 0x000000ff&(l<<0);
    }

    public function set L(val:int):void
    {
        l = val;
    }
    public function get H():int
    {
        return 0x000000ff&(h<<0);
    }

    public function set H(val:int):void
    {
        h = val;
    }

    public function get W():int
    {
        return 0x0000ff00&(h<<8)|0x000000ff&(l<<0);
    }

    public function set W(val:int):void
    {
        l = ((0x000000ff&val)>>0);
        h = ((0x0000ff00&val)>>8);
    }
}
}