[b]Calculator.h[/b] //实现Calculator类 @interface Calculator : NSObject { double accumulator; } //累加方法 -(void) setAccumulator: (double) value; -(void) clear; -(double) accumulator; //算数方法 -(void) add: (double) value; -(void) subtract: (double) value; -(void) multiply: (double) value; -(void) divide: (double) value; @end [b]Calculator.m[/b] #import "Calculator.h" @implementation Calculator -(void) setAccumulator:(double)value{ accumulator = value; } -(void) clear{ accumulator = 0; } -(double) accumulator{ return accumulator; } -(void) add:(double)value{ accumulator += value; } -(void) subtract:(double)value{ accumulator -= value; } -(void) multiply:(double)value{ accumulator *= value; } -(void) divide:(double)value{ accumulator /= value; } @end [b]main.m[/b] #import "Calculator.h" int main(int argc, const char * argv[]) { @autoreleasepool { double value1, value2; char operator; Calculator *deskCalc = [[Calculator alloc] init]; NSLog(@"Enter your expression."); scanf("%lf %c %lf", &value1, &operator, &value2); [deskCalc setAccumulator:value1]; if (operator == '+') [deskCalc add:value2]; else if(operator =='-') [deskCalc subtract:value2]; else if(operator == '*') [deskCalc multiply:value2]; else if(operator == '/') if(value2 == 0) NSLog(@"Division by Zero"); else [deskCalc divide:value2]; else NSLog(@"Unkown operator."); NSLog(@"%.2f",[deskCalc accumulator]); } return 0; }
此计算器总共有三个界面分别为Cacluator.h、Cacluato.rm、main.m三个界面。在Cacluator。h中声明成员变量,描述类的对象属性。在Cacluator。m中用于方法的实现。主函数部分(main。m)实现整个表达式的完整表达及结果的得出。