Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 44, средняя оценка - 4.75
грязный
31 / 31 / 0
Регистрация: 15.11.2008
Сообщений: 205
#1

Перегрузка функции - C++

08.09.2009, 09:55. Просмотров 5898. Ответов 9
Метки нет (Все метки)

Что такое перезагрузка функции в с++?
Для чего она нужна? Есть случаи, когда без нее никак?
Приведите пример перезагрузки функции?
Тут есть перезагрузка?

C++
1
2
3
4
5
6
7
8
static int Square(int var)
    {
      return (var * var);
    }
    static long Square(long var)
    {
      return (var * var);
    }
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.09.2009, 09:55     Перегрузка функции
Посмотрите здесь:

Перегрузка операторной функции и функции ! - C++
3.16Разработать класс ThreeAngle для работы с плоскими треугольниками. В качестве членов-данных задаются длины трех сторон треугольника....

Перегрузка функции - C++
Доброго времени суток! Дана задача: Написать функции для поиска минимального и максимального элементов, расположенных выше побочной...

Перегрузка функции - C++
class num { private: long a; long b; int c; int d; public: num(); num(long, long);

Перегрузка функции - C++
Написать перегрузку функции: 1. а) Для массива целых чисел находит середнее арифметическое б) Для строки находит количество букв,...

Перегрузка функции - C++
Добрый день. Не могу решить до конца задачу. Суть в том что бы передать значения в функцию, сделать с ними что то и вернуть значение....

перегрузка функции << и >> - C++
//include &lt;stdio.h&gt; //include &lt;iostream.h&gt; //include &lt;fstream.h&gt; //include &lt;string.h&gt; char group= “\0”; char otchet= “Print.txt”;...

Перегрузка функции - C++
Вот запутался в простенькой функции. Вроде все правильно, но выдает не то что ожидалось, а какие-то адреса. Помогите, а? вот код ...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Paulie
Айхрень...
306 / 174 / 4
Регистрация: 02.06.2009
Сообщений: 1,078
08.09.2009, 10:03     Перегрузка функции #2
Ну для начала - перегрузка функции. По этому запросу поисковая система выдаст много чего интересного
Padonok
14 / 14 / 1
Регистрация: 01.02.2009
Сообщений: 23
08.09.2009, 10:23     Перегрузка функции #3
Правильней будет перегрузка функции...
Несколько различных функций с одинаковым именем называется перегрузка функций. Такие функции должны отличатся друг от друга списками параметров: типом или количеством параметров либо и тем, и другим одновременно.

C++
1
2
3
int myFunction (int,int);
int myFunction (long,long);
int myFunction (long);
Типы возвращаемых значений перегруженных функций могут быть одинаковыми или разными.
Sergei
1429 / 696 / 41
Регистрация: 22.04.2008
Сообщений: 1,608
08.09.2009, 10:23     Перегрузка функции #4
В твоем примере есть перегрузка функции.
Перегрузка функции это когда объявляются несколько функции с одним и тем же именем
но количество аргументов и их типы могут быть различны также и возвращаемое значение может быть различного типа.
Это позволяет удобному написанию программ. Так как нет необходимости давать различным функциям делающим примерно одно и тоже, но с аргументами различных типов и их количество,
разные имена и запоминать их. Перегрузка функции особенно важна в ООП на основе перегрузки функции реализуется полиморфизм.
zim22
depict1
276 / 141 / 2
Регистрация: 11.07.2009
Сообщений: 606
08.09.2009, 10:40     Перегрузка функции #5
Цитата Сообщение от Sergei Посмотреть сообщение
озвращаемое значение может быть различного типа.
возвращаемое значение не учитывается в перегрузке функций.
Цитата Сообщение от Sergei Посмотреть сообщение
Перегрузка функции особенно важна в ООП на основе перегрузки функции реализуется полиморфизм.
ты написал бред. покажи мне полиморфизм, который достигается благодаря перегрузке функции.
rangerx
1932 / 1541 / 141
Регистрация: 31.05.2009
Сообщений: 2,911
08.09.2009, 13:45     Перегрузка функции #6
ты написал бред. покажи мне полиморфизм, который достигается благодаря перегрузке функции.
Множество реализаций через один интерфейс. Что это, если не полиморфизм?
M128K145
Эксперт С++
8284 / 3503 / 143
Регистрация: 03.07.2009
Сообщений: 10,706
08.09.2009, 15:11     Перегрузка функции #7
Г. Шилдт "Самоучитель С++" 3-е издание, стр 13
Код
Полиморфизм может применяться также и к операторам. Фактически во
всех языках программирования ограниченно применяется полиморфизм,
например, в арифметических операторах. Так, в С, символ + используется
для складывания целых, длинных целых, символьных переменных и чисел с
плавающей точкой. В этом случае компилятор автоматически определяет,
какой тип арифметики требуется. В C++ вы можете применить эту концеп-
цию и к другим, заданным вами, типам данных. [U]Такой тип полиморфизма
называется перегрузкой операторов[/U] (operator overloading).
TGrey[WoLf]
39 / 39 / 1
Регистрация: 14.09.2008
Сообщений: 685
08.09.2009, 15:16     Перегрузка функции #8
В объектно-ориентированных языках класс является типом данных. Полиморфизм реализуется с помощью наследования классов и виртуальных функций. Класс-потомок наследует сигнатуры методов класса-родителя, но реализация этих методов может быть другой, соответствующей специфике класса-потомка.
Полиморфизм Это вроде уже относится к виртуальным функциям, а это вроде, как не совсем перегрузка. Что в базовом классе, что в наследнике функция будет выглядеть одинаково хоть внутри код будет разный.
А смысл перегрузки в том, чтобы одной функции задавать различное число параметров.
Если и использовать перегрузку в классе, то она будет работать точно так же, как и без класса.
zim22
depict1
276 / 141 / 2
Регистрация: 11.07.2009
Сообщений: 606
08.09.2009, 18:46     Перегрузка функции #9
Полиморфизм - это концепция теории типов, согласно которой имена (например, объявления переменных) могут обозначать объекты разных классов, имеющих общий суперкласс. Следовательно, объекты, обозначаемые полиморфным именем, могут по-разному выполнять общий набор операций.
"Объектно-ориентированный анализ и проектирование с примерами приложений" (Гради Буч).
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.09.2009, 20:19     Перегрузка функции
Еще ссылки по теме:

Перегрузка функции - C++
Создайте функцию max(), которая возвращает наибольший из трёх численных аргументов, используемых при вызове функции. Перегрузите функцию...

Перегрузка функции - C++
Помогите плз сделать лабораторную по программированию Задание такое: Класс «матрица». Матрица имеет размер 3х3 и содержит...

перегрузка функции - C++
Функція func повертає позицію першого входження шуканого числа чи символу. Добавлено через 42 секунды помогите с кодом)Официальный...

Перегрузка функции - C++
Помогите решить проблему. Нужно,например,создать перегрузку функции для сложения 2 чисел для 2 разных типов данных. Если числа уже...

Перегрузка функции - C++
#include &lt;iostream&gt; #include &lt;string&gt; using namespace std; void foo(string value){ cout &lt;&lt; &quot;String&quot; &lt;&lt; endl; } ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
mustardandrew
Человек
96 / 80 / 3
Регистрация: 16.06.2009
Сообщений: 229
08.09.2009, 20:19     Перегрузка функции #10
Можно использовать шаблоны вместо перегрузки

C++
1
2
3
4
template<class T>
T& max(T& a, T& b){
  return (a>b)?a:b;
}
пример использования
C++
1
2
3
4
5
int a=10, b=20;
int c=max(a,b);
 
double a1=1.3, b1=1.09;
double c1=max(a1, b1)
Yandex
Объявления
08.09.2009, 20:19     Перегрузка функции
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru