Код файла fraction.h.
#import <Foundation/Foundation.h>
@interface Fraction : NSObject
@property (readonly) int numerator;
@property int denominator;
-(void) print;
-(void) setNumerator: (int) n;
-(void) setDenominator: (int) d;
-(int) Numerator;
-(int) Denominator;
-(void) setNumerator: (int) n andDenominator: (int) d;
@end
Код файла fraction.m.
#import "Fraction.h"
@synthesize numerator, denominator;
@implimentation Fraction {
int numerator;
int denominator;
}
-(void) print {
NSLog(@"%i / %i", numerator, denominator);
}
-(void) print2 {
NSLog(@"%i / %i", _numerator, _denominator);
}
-(void) setNumerator: (int) n {
numerator = n;
}
-(void) setDenominator: (int) d {
denominator = d;
}
-(int) Numerator {
return numerator;
}
-(int) Denominator {
return denominator;
}
-(void) setNumerator: (int) n andDenominator: (int) d {
numerator = n;
denominator = d;
}
-(id) init {
self = [super init];
if (self) {
_denominator = 1;
}
return self;
}
@end
Код файла main.m.
#import <Fonundation/Foundation.h>
#import "Fraction.h"
@interface Fraction (MathOps)
-(void) add: (Fraction *) f;
@end
@implimentaion Fraction (MathOps)
-(void) add: (Fraction *) f {
[self setNumerator: (([self numerator] * [f denominator]) + ([self denominator] * [f numerator]))];
[self setDenominator: ([self denominator] * [f denominator])];
}
@end
int main (int argc, const char *argv[])
{
@autoreleasepool {
Fraction *myFraction;
myFraction = [[Fraction alloc] init];
[myFraction setNumerator: 10];
[myFraction setDenominator: 42];
# myFraction.setNumerator(10);
# myFraction.setDenominator(42);
[myFraction print];
int a = [myFraction numerator];
int b = [myFraction denominator];
[[myFraction setNumerator: 10] setDenominator: 42];
[myFraction setNumerator: 10 andDenominator: 42];
Fraction *myFraction2;
myFraction2 = [[Fraction alloc] init];
[myFraction add: myFraction2];
[myFraction print];
}
return 0;
}
Комментариев нет:
Отправить комментарий