KnowledgeHub
Questions
Tags
Users
Search
Alex Rivera
|
Logout
Edit Question
Title
Body
I'm trying to work my way through an Objective-C tutorial. In the book there is this example: @interface { int width; int height; XYPoint *origin; } @property int width, height; I thought, "hey there's no getter/setter for the XYPoint object. The code does work though." Now i'm going maybe to answer my own question :). I thinks its because "origin" is a pointer already, and whats happening under the hood with "width" and "height", is that there is going te be created a pointer to them.. Am i right, or am i talking BS :) ?? I just dont get it. here's main: #import "Rectangle.h" #import "XYPoint.h" int main (int argc, char *argv[]) { NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init]; Rectangle *myRect = [[Rectangle alloc] init]; XYPoint *myPoint = [[XYPoint alloc] init]; [myPoint setX: 100 andY: 200]; [myRect setWidth: 5 andHeight: 8]; myRect.origin = myPoint; NSLog (@"Rectangle w = %i, h = %i", myRect.width, myRect.height); NSLog (@"Origin at (%i, %i)", myRect.origin.x, myRect.origin.y); NSLog (@"Area = %i, Perimeter = %i", [myRect area], [myRect perimeter]); [myRect release]; [myPoint release]; [pool drain]; return 0; } And here's the Rectangle object: #import "Rectangle.h" #import "XYPoint.h" @implementation Rectangle @synthesize width, height; -(void) setWidth: (int) w andHeight: (int) h { width = w; height = h; } - (void) setOrigin: (XYPoint *) pt { origin = pt; } -(int) area { return width * height; } -(int) perimeter { return (width + height) * 2; } -(XYPoint *) origin { return origin; } @end What i dont understand is this line in main: myRect.origin = myPoint; I did not make a setter for it.. BTW thanks for your fast reply's
Tags (comma-separated)
Save Edits
Cancel