#import <Foundation/Foundation.h>
@interface Fraction:NSObject
{
int numerator;
int denominator;
}
-(void) print;
-(void) setNumerator:(int) n;
-(void) setDenominator:(int) d;
@end
@implementation Fraction
-(void) print
{
NSLog(@"%i/%i",numerator,denominator);
}
-(void) setNumerator:(int) n
{
numerator=n;
}
-(void) setDenominator:(int) d
{
denominator=d;
}
@end
int main(int argc, char*argv[])
{
NSAutoreleasePool *pool=[[NSAutoreleasePool alloc] init];
Fraction frac=[[Fraction alloc] init];
[frac setNumerator:1];
[frac setDenominator:3];
NSLog(@"The instance of fraction is:%i",[frac retainCount]);
NSLog(@"The value of fraction is:");
[frac print];
[frac release];
[pool drain];
return 0;
}
错误原因
Fraction frac=[[Fraction alloc] init];
应为
Fraction *frac = [ Fraction new ] ;
or
Fraction *frac = [ [Fraction alloc] init ] ;