#import <Foundation/Foundation.h>
#import "Complex.h"
int main(int argc,constchar * argv[]) {
@autoreleasepool {
Complex * p1=[[Complex alloc]init];
[p1 setReal:2 andVir:3];//2+3i
Complex * p2=[[Complex alloc]init];
[p2 setReal:4 andVir:5];//4+5i
Complex * p3=[p2 add:p1];
[p3 showAll];
}
return0;
}
// Complex.h
#import <Foundation/Foundation.h>
@interface Complex :NSObject
{
int _real; //实部
int _vir; //虚部
}
//1>初始化方法
- (void) setReal:(int) real andVir:(int) vir;
//2>get方法
- (void) showAll;
- (int) real;
- (int) vir;
//3>复数相加
- (Complex *) add:(Complex *) added;
@end
// Complex.m
#import "Complex.h"
@implementation Complex
//1>初始化方法
- (void) setReal:(int) real andVir:(int) vir{
_real=real;
_vir=vir;
}
//2>get方法
- (void) showAll{
NSLog(@"%i+%ii",_real,_vir);
}
- (int) real{
return_real;
}
- (int) vir{
return_vir;
}
//3>复数相加 定义一个新的,两个复数相加时,就不会覆盖原来的复数!!!
- (Complex *) add:(Complex *) added{
Complex * newNum=[[Complex alloc]init];
int realTem=_real+[added real];
int virTem=_vir+[added vir];
[newNum setReal:realTem andVir:virTem];
return newNum;
}
@end