Читайте также:
|
|
Методы классов, так же как и обычные функции C++, можно перегружать. Перегрузка функций означает, что в текущей области действия одно и то же имя могут использовать несколько функций. Компилятор выбирает нужную функцию, учитывая количество и тип аргументов, использованных при ее вызове.
Пример: class absolute_value
{public:
int number(int); double number(double);};
int absolute_value::number(int test_data)
{ int answer; answer=abs(test_data); return(answer);}
double absolute_value::number(double test_data)
{ double answer; answer=fabs(test_data); return(answer);}
Программа выбирает соответствующий метод класса, учитывая тип (int или doable) аргумента, передаваемого вместе с именем метода.
Перегрузка методов класса обеспечивают программе и программисту гибкость при работе с различными форматами данных.
Перегрузка функций улучшает удобочитаемость программ
Перегрузка функций C++ позволяет вашим программам определять несколько функций с одним и тем же именем. Перегруженные функции должны возвращать значения одинакового типа*, но могут отличаться количеством и типом параметров. До появления перегрузки функций в C++ программисты языка С должны были создавать несколько функций с почти одинаковыми именами. К сожалению программисты, желающие использовать такие функции, должны были помнить, какая комбинация параметров соответствует какой функции. С другой стороны, перегрузка функций упрощает задачу программистов, требуя, чтобы они помнили только одно имя функции.
Для перегрузки конструктора достаточно объявить его во всех нужных форматах и определить нужное действие для каждого из конструкторов. Но стоит отметить, что перегрузка конструктора или любого другого метода дополнительно нагрузит вашу программу. Перегрузка конструкторов:
Конструкторы м.б. перегружены, что позволяет создавать объекты в зависимости от значений, используемых при инициализации.
Class X
{
int integer_part;
double double_part;
public:
X(int i){integer_part =i;}
X(double d){double_part=d;}
}
Перегрузка функций (методов класса). Создание и использование конструкторов копирования. Устаревшее ключевое слово overload. Перегрузка и неоднозначность. Ключевое СЛОВО explicit. Определение адреса перегруженной функции.
Методы классов, так же как и обычные функции C++, можно перегружать. Перегрузка функций означает, что в текущей области действия одно и то же имя могут использовать несколько функций. Компилятор выбирает нужную функцию, учитывая количество и тип аргументов, использованных при ее вызове.
Пример: class absolute_value
{public:
int number(int); double number(double);};
int absolute_value::number(int test_data)
{ int answer; answer=abs(test_data); return(answer);}
double absolute_value::number(double test_data)
{ double answer; answer=fabs(test_data); return(answer);}
Программа выбирает соответствующий метод класса, учитывая тип (int или doable) аргумента, передаваемого вместе с именем метода.
Перегрузка методов класса обеспечивают программе и программисту гибкость при работе с различными форматами данных.
Перегрузка функций улучшает удобочитаемость программ
Перегрузка функций C++ позволяет вашим программам определять несколько функций с одним и тем же именем. Перегруженные функции должны возвращать значения одинакового типа*, но могут отличаться количеством и типом параметров. До появления перегрузки функций в C++ программисты языка С должны были создавать несколько функций с почти одинаковыми именами. К сожалению программисты, желающие использовать такие функции, должны были помнить, какая комбинация параметров соответствует какой функции. С другой стороны, перегрузка функций упрощает задачу программистов, требуя, чтобы они помнили только одно имя функции.
Дата добавления: 2015-12-08; просмотров: 154 | Нарушение авторских прав