facadeadder.c

来自「基于ANdroid平台的高欢堂书籍的对应源代码 非常有用」· C语言 代码 · 共 24 行

C
24
字号
/*    FacadeAdder.c    */
#include "FacadeAdder.h"
extern void* FullAdderNew();

static void init(FacadeAdder *cthis) {
    cthis->fadder = (FullAdder*)FullAdderNew();
    cthis->fadder->init(cthis->fadder);
    cthis->carry_in = 0;
}
static int calculate(FacadeAdder *cthis, int a, int b) {
    int c2, sum, k;
    cthis->fadder->set_ab(cthis->fadder, a, b);
    c2 = cthis->fadder->set_carry_in(cthis->fadder, cthis->carry_in);
    cthis->carry_in = c2;
    sum = cthis->fadder->get_sum( cthis->fadder);
    k =c2 *10 + sum;
    return k;
}
CTOR(FacadeAdder)
    FUNCTION_SETTING(init, init)
    FUNCTION_SETTING(execute, calculate)
END_CTOR

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?