Можно ли переопределить использование оператора в Objective-C?
Например
myClassInstance + myClassInstance
вызывает пользовательскую функцию для добавления двух.
Ответ 1
Перегрузка оператора не является функцией Objective-C. Если два экземпляра ваших классов могут быть добавлены вместе, укажите метод и добавьте их с помощью этого метода:
Возможно, вы захотите поддержать подписку на свой объект. Подписки - это не перегрузка операторов, но это может быть удобно для объекта коллекции. NSArray и NSDictionary поддерживают подписи. Например:
Нет, Objective-C не поддерживает перегрузку оператора.
Ответ 6
Во-первых, перегрузка оператора зла. Во-вторых, C не имеет перегрузки оператора, а Objective-C является надлежащим надмножеством C, который добавляет только несколько ключевых слов и синтаксис сообщений.
Если вы используете среду разработки Apple, вы можете использовать Objective-C ++ вместо Objective-C, что дает вам доступ ко всем ошибкам и ошибкам С++, включая перегрузку операторов. Самый простой способ использовать Objective-C ++ - это просто изменить расширение в файлах реализации с ".m" на ".mm"