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

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

Войти
Регистрация
Восстановить пароль
 
AKE
11 / 11 / 0
Регистрация: 09.05.2010
Сообщений: 384
#1

Забыл, как объявить функцию с тем же названием? - C++

04.08.2010, 19:59. Просмотров 633. Ответов 9
Метки нет (Все метки)

Забыл, как объявить ещё одну функцию с тем же названием?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.08.2010, 19:59     Забыл, как объявить функцию с тем же названием?
Посмотрите здесь:

Как объявить friend функцию класса - C++
как это оформить, чтобы работало // ----------> one.h #include "two.h" #ifndef ONE_H_INCLUDED #define ONE_H_INCLUDED #include...

Как объявить функцию без прототипа - C++
Во всех учебниках пишут, что каждая функция должна иметь прототип. ВОт стало интересно, можно ли объявить функцию, которая не имеет...

Можно ли объявить дружественную функцию как шаблон? - C++
Так всё работает: template<class T> class random { /*всячина*/ public: friend void function(random<int>&); ...

как мне в функции main() объявить функцию Do (), подскажите пожалуйста, на таком глупом застрял - C++
#include <iostream> #include <string> #include <conio.h> #include <clocale> #include <math.h> using namespace std; class Tem; ...

Как объявить функцию, которая имеет место быть только в некоторых дочерних классах, а базовый класс абстрактный? - C++
Как объявить функцию, которая имеет место быть только в некоторых дочерних классах? Например //Абстрактный базовый класс ...

Объявить функцию в STRUCT {} С++ - C++
Доброй ночи Создаю меню в консоле Задумка такая - для каждого пункта меню запускать свою функцию Как функцию объявить в структуре...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
ForEveR
В астрале
Эксперт С++
7968 / 4730 / 320
Регистрация: 24.06.2010
Сообщений: 10,539
Завершенные тесты: 3
04.08.2010, 20:02     Забыл, как объявить функцию с тем же названием? #2
AKE, Перегрузка функции?

Ну пример.

C++
1
2
3
4
5
6
7
8
double Sqr(double x)
{
return x*x;
}
int Sqr(int x)
{
return x*x;
}
AKE
11 / 11 / 0
Регистрация: 09.05.2010
Сообщений: 384
04.08.2010, 20:04  [ТС]     Забыл, как объявить функцию с тем же названием? #3
Lavroff, то есть директив никаких не надо?
Aaxenon
Light Knight
106 / 29 / 3
Регистрация: 03.06.2010
Сообщений: 361
04.08.2010, 20:05     Забыл, как объявить функцию с тем же названием? #4
если не ошибаюсь, можно давать одно название, если у функций разные типы
ForEveR
В астрале
Эксперт С++
7968 / 4730 / 320
Регистрация: 24.06.2010
Сообщений: 10,539
Завершенные тесты: 3
04.08.2010, 20:07     Забыл, как объявить функцию с тем же названием? #5
AKE, Нет, зачем? Только если различается только типом возвращаемого значения - неоднозначность -> ошибка
Вот так - запрещено
C++
1
2
3
4
5
6
7
8
9
int Scr(int l)
{
    return l*l;
}
 
double Scr(int l)
{
    return l*l;
}
AKE
11 / 11 / 0
Регистрация: 09.05.2010
Сообщений: 384
04.08.2010, 20:07  [ТС]     Забыл, как объявить функцию с тем же названием? #6
У меня возникает ошибка
error C2084: function 'struct TLine __cdecl Line(struct T3DPoint,struct T3DPoint)' already has a body
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
TLine Line(T3DPoint StartPoint, TVector Direction)
{
 TLine l;
 l.StartPoint = StartPoint;
 l.Direction  = Direction;
 return l;
}
 
TLine Line(T3DPoint P1, T3DPoint P2)
{
 TLine l;
 l.StartPoint = P1;
 l.Direction = SubPoints(P1, P2);
 return l;
}
ForEveR
В астрале
Эксперт С++
7968 / 4730 / 320
Регистрация: 24.06.2010
Сообщений: 10,539
Завершенные тесты: 3
04.08.2010, 20:10     Забыл, как объявить функцию с тем же названием? #7
AKE, Странно. Больше они нигде не объявлены?
Ибо вот так вполне работает:
C++
1
2
3
4
5
6
7
8
9
int Scr(int l, double m)
{
    return l*l;
}
 
int Scr(int l, int m)
{
    return l*l;
}
AKE
11 / 11 / 0
Регистрация: 09.05.2010
Сообщений: 384
04.08.2010, 20:16  [ТС]     Забыл, как объявить функцию с тем же названием? #8
Lavroff, может быть потому что я так объявил TVector??
C++
1
typedef T3DPoint TVector;
ForEveR
В астрале
Эксперт С++
7968 / 4730 / 320
Регистрация: 24.06.2010
Сообщений: 10,539
Завершенные тесты: 3
04.08.2010, 20:18     Забыл, как объявить функцию с тем же названием? #9
AKE, Именно. typedef не катит. Перегрузка не различает их.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
04.08.2010, 20:20     Забыл, как объявить функцию с тем же названием?
Еще ссылки по теме:

Объявить массив? Запросто! Объявить массив массивов? А как это? - C++
Доброго времени суток! Конечно, все знают, как объявить массив! int main () { int array; }

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

Вычислить гипотенузы используя функцию, объявить прототип - C++
Описать функцию расчета длины гипотенузы треугольника, в которую передаются длины двух катетов. С помощью этой функции вычислить гипотенузы...

[C/C++]Не могу объявить static функцию в header файле. - C++
Прочитал про static,и пытаюсь сделать функцию доступной только в пределах одного модуля.Поскольку функции вызывают друг друга(и ещё не...


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

Или воспользуйтесь поиском по форуму:
AKE
11 / 11 / 0
Регистрация: 09.05.2010
Сообщений: 384
04.08.2010, 20:20  [ТС]     Забыл, как объявить функцию с тем же названием? #10
Lavroff, Ок теперь всё работает...
Yandex
Объявления
04.08.2010, 20:20     Забыл, как объявить функцию с тем же названием?
Ответ Создать тему
Опции темы

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