Помогите понять return в Objective-C на примере задачи
Марат Галеев
Всем привет!
Занимаюсь пока по книге Стивена Кочана "Прогрвммирование на Objective-C". Там в общем главы, а после каждой упражнения. Глава "Типы данных и выражения".
В общем есть код калькулятора:
#import <Foundation/Foundation.h>

@interface Calculator : NSObject

// Методы сумматора

-(void) add: (double) value;
//-(double) add: (double) value;
-(void) subtract: (double) value;
//-(double) subtract: (double) value;
-(void) multiply: (double) value;
//-(double) multiply: (double) value;
-(void) divide: (double) value;
//-(double) divide: (double) value;
@end @implementation Calculator
{
   double accumulator;
}
-(void) setAccumulator: (double) value
{
   accumulator = value;
}
-(void) clear
{
   accumulator = 0;
}
-(double) accumulator
{
   return accumulator;
}
-(void) add: (double) value
//-(double) add: (double) value
{
   accumulator += value;
   //return accumulator;
}
-(void) subtract: (double) value
//-(double) subtract: (double) value
{
   accumulator -= value;
   //return accumulator;
}
-(void) multiply: (double) value
//-(double) multiply: (double) value
{
   accumulator *= value;
   //return accumulator;
}
-(void) divide: (double) value
//-(double) divide: (double) value
{
   accumulator /= value;
   //return accumulator;
}
@end int main(int argc, const char * argv[]) {
   @autoreleasepool {
       Calculator *deskCalc = [[Calculator alloc] init];
       
       [deskCalc setAccumulator: 100.0];
       //[deskCalc add: 200.];
       //[deskCalc divide: 15.0];
       [deskCalc subtract: 10.0];
       [deskCalc multiply: 5];
       
       NSLog(@"Результат равен %g", [deskCalc accumulator]);
   }
   return 0;
}
Задание такое:
Методы add:, subtract:, multiply:, divide: не возвращают значение. Модифицируйте эти методы так, чтобы они возвращали значение сумматора после выполнения вычисления.
Я закомментил свои модификации по возврату значений (не знаю правильно или нет). Вопрос в том как проверить это? Что должно вообще происходить то? %) P. S. Я новичок, сильно не пинайте. Я просто не понимаю, что делает return в описании методов, хотя написал его там %)
Марат Галеев больше 1 года назадСпасибо 0
0 чел.