Главная » 2015 Сентябрь 11 » Перегрузка операторов
07:12 Перегрузка операторов | |
Всем добрый день.В одном тесте по C++ наткнулся на два таких вот вопроса: Какие операторы разрешается перегружать только как фунции-члены класса? Какие операторы не рекомендуется перегружать как фунции-члены класса?С первым вопросом всё ясно - открываем Стандарт и смотрим. А вот ответ на второй носит скорее рекомендательный характер нежели руководство к действию.В результате поиска ответов познакомился с некоторыми любопытными рекомендациями, которыеи привожу ниже.Интересно было бы получить на этот счёт ваши возражения, замечания, дополнения. Правила Бинарный оператор можно определить либо в виде нестатической функции-члена с одним аргументом, либо функции-не-члена с двумя аргументами. Унарный оператор можно определить либо в виде нестатической функции-члена без аргументов, либо функции-не-члена с одним аргументом. Ответы Какие операторы разрешается перегружать только как фунции-члены класса? Операторы Операторная функция ... должна содержать по крайней мере один параметр, тип которого - класс, ссылка на класс, перечисление или ссылка на перечисление."). Рекомендации Целесообразно определять в классе бинарные операторы, модифицирующие значение первого аргумента, например, +=, ,' для которого сначала производится оценка выражения, стоящего справа, а затем выражения, стоящего слева.</div> | |
|
Всего комментариев: 0 | |