IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

 
 Ответить  Открыть новую тему 
> создание процедуры(функции) типа Inc(n)/inc(n,2)
DFooz
сообщение 13.06.2006 12:10
Сообщение #1


Новичок
*

Группа: Пользователи
Сообщений: 25
Пол: Мужской
Реальное имя: Иван

Репутация: -  0  +


можно ли как-нибудь создать такую проедуру, чтобы в нее можно было отсылать несколько параметров, а в другом случае, напр., только один, а другие она по умолчанию возьмёт?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
volvo
сообщение 13.06.2006 12:15
Сообщение #2


Гость






Этот вопрос уже поднимался. Нет, нельзя (так, как ты это подразумеваешь)... В полной мере это доступно только в 32-битных компиляторах...

В принципе, есть возможность сделать то, что ты хочешь (чтобы можно было вызывать одну и ту же процедуру/функцию, но с разным числом параметров), но вот способ тебе явно не понравится...
 К началу страницы 
+ Ответить 
DFooz
сообщение 13.06.2006 13:05
Сообщение #3


Новичок
*

Группа: Пользователи
Сообщений: 25
Пол: Мужской
Реальное имя: Иван

Репутация: -  0  +


а как тогда это осуществили в Паскале?

Цитата
В принципе, есть возможность сделать то, что ты хочешь (чтобы можно было вызывать одну и ту же процедуру/функцию, но с разным числом параметров), но вот способ тебе явно не понравится...


в целях общего развития напишите пожалуйста
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
volvo
сообщение 13.06.2006 13:58
Сообщение #4


Гость






Цитата(DFooz @ 13.06.2006 13:05) *
а как тогда это осуществили в Паскале?
Все процедуры типа Inc/Dec и Read(Ln)/Write(Ln) на самом деле являются макросами...

Цитата
в целях общего развития напишите пожалуйста
Можно попробовать описать эти 2 разные процедуры в разных модулях (в одном, например, с одним параметром, во втором - с двумя), и подключить оба этих модуля к основной программе.
 К началу страницы 
+ Ответить 
DFooz
сообщение 13.06.2006 14:20
Сообщение #5


Новичок
*

Группа: Пользователи
Сообщений: 25
Пол: Мужской
Реальное имя: Иван

Репутация: -  0  +


Цитата(volvo @ 13.06.2006 14:58) *

Все процедуры типа Inc/Dec и Read(Ln)/Write(Ln) на самом деле являются макросами...

т.е. компилятор считывает, что в скобках, а потом анализирует, 2 там переменных или одна и чего-то запускает? или я фигню какю-то написал...
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
volvo
сообщение 13.06.2006 14:27
Сообщение #6


Гость






Цитата
компилятор считывает, что в скобках, а потом анализирует, 2 там переменных или одна и чего-то запускает?
Там (вторым параметром) может быть не только переменная, но и константа и выражение...

Но в целом ты прав, именно так и происходит... Только вот имена таких процедур/функций известны компилятору, и ТОЛЬКО с ними производится такая проверка. С другими (подпрограммами пользователя) - производится проверка на соответствие заголовку, и если точного соответствия не найдено - ошибка...
 К началу страницы 
+ Ответить 
DFooz
сообщение 13.06.2006 15:39
Сообщение #7


Новичок
*

Группа: Пользователи
Сообщений: 25
Пол: Мужской
Реальное имя: Иван

Репутация: -  0  +


идею понял, спасибо.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 19.07.2025 15:38
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"