есть ли в с++ аналогия процедурам с паскаля?
|
|
hero564 | Дата: Понедельник, 07 Мая 2012, 18:21 | Сообщение # 1 |
Made in Ukraine
Сейчас нет на сайте
| Вот собственно решилнаписать прогамку на паскале , нпомощио немного подумав решил писать на с++. Понимаю вопрос может показатся нубским, но в е же жду буду раад если подсквжете, основы с++ более менее знаю
|
|
| |
KpoJIuk | Дата: Понедельник, 07 Мая 2012, 18:50 | Сообщение # 2 |
In C++ We Trust
Сейчас нет на сайте
| Эм... функции типа void, не?
|
|
| |
vasua99 | Дата: Понедельник, 07 Мая 2012, 19:03 | Сообщение # 3 |
GNU follower
Сейчас нет на сайте
| для начала купи нормальную клААву,либо выучи русский язык,а вообще если бы знал С/С++ то такой вопрос не задавал бы.Держи: [code] void f(int x) // example procedure { y = x * x; int *curr = malloc(sizeof(point)); curr[0] = x; curr[1] = y; paint((struct point*)curr,BLACK); free(curr); }
int main() { int x; for(x = -10;x <= 10;++x) f(x); return 0; } [\code]
Жизнь игра, и мы в ней пешки... А я кушаю пельмешки)
|
|
| |
hero564 | Дата: Понедельник, 07 Мая 2012, 19:56 | Сообщение # 4 |
Made in Ukraine
Сейчас нет на сайте
| vasua99, спасибо, насчет клавы то писал с телефона да еще и в маршрутке, из за того и ошибки, а насчет процедур то я когда читал учебник поленился печатать программу-пример , изза этого и забыл)))) держи +
Сообщение отредактировал hero564 - Понедельник, 07 Мая 2012, 19:57 |
|
| |
Тритон | Дата: Пятница, 11 Мая 2012, 08:59 | Сообщение # 5 |
постоянный участник
Сейчас нет на сайте
| Понятия процедуры на сях и плюсах нет, как и нет понятия функции на асме. Но есть адекватная замены - функция со специальным типом возвращаемого значения без данных. Тип этот зовут void.
Не всё так плохо, как оно есть на самом деле.
|
|
| |
biohazardo | Дата: Пятница, 11 Мая 2012, 10:14 | Сообщение # 6 |
участник
Сейчас нет на сайте
| Процедура в паскале - функция, которая ничего не возвращает. Во многих языках так (пока нигде больше процедур не встречал), поэтому надо сделать функцию с пустым возвращаемым типом void, как тут уже выше писали.
web-developer, который хочет делать игры хотя-бы чуть-чуть
|
|
| |
Тритон | Дата: Пятница, 11 Мая 2012, 10:19 | Сообщение # 7 |
постоянный участник
Сейчас нет на сайте
| Quote (biohazardo) Процедура в паскале - функция, которая ничего не возвращает. Нет. Там чётко разделены понятия процедуры и функции и для их объявления используются разные операторы с разным синтаксисом: заголовки функций начинаются с function и завершаются типом возвращаемого значения, а заголовки процедур начинаются с procedure и типа возвращаемого значения не содержат вообще. Нет даже void, или его аналога. Вообще пусто и самого двоеточия нет. Если функцию объявить без типа значения, будет синтаксическая ошибка. Если процедуру обхявить с типом значения, будет синтаксическая ошибка.
Не всё так плохо, как оно есть на самом деле.
|
|
| |
biohazardo | Дата: Пятница, 11 Мая 2012, 10:43 | Сообщение # 8 |
участник
Сейчас нет на сайте
| Quote (Тритон) Нет. Там чётко разделены понятия процедуры и функции и для их объявления используются разные операторы с разным синтаксисом: заголовки функций начинаются с function и завершаются типом возвращаемого значения, а заголовки процедур начинаются с procedure и типа возвращаемого значения не содержат вообще. Нет даже void, или его аналога. Вообще пусто и самого двоеточия нет. Если функцию объявить без типа значения, будет синтаксическая ошибка. Если процедуру обхявить с типом значения, будет синтаксическая ошибка.
Я знаю Паскаль, и как там выглядит процедура. Я привел аналогию с другими языками, в них процедура - это как раз функция без возврата.
web-developer, который хочет делать игры хотя-бы чуть-чуть
|
|
| |
Тритон | Дата: Пятница, 11 Мая 2012, 14:57 | Сообщение # 9 |
постоянный участник
Сейчас нет на сайте
| return в переводе возврат, досрочный выход из функции типа void делается оператором return. Так что с возвратом, но особого значения без данных. Кто придумал на столько искусственную конструкцию - вопрос интересный, но хорошо хоть выглядит относительно просто.
Не всё так плохо, как оно есть на самом деле.
Сообщение отредактировал Тритон - Пятница, 11 Мая 2012, 14:58 |
|
| |
hero564 | Дата: Пятница, 11 Мая 2012, 15:05 | Сообщение # 10 |
Made in Ukraine
Сейчас нет на сайте
| а можно использовать в процедурах операторы ввода(сin)
|
|
| |
Quaternion | Дата: Пятница, 11 Мая 2012, 15:09 | Сообщение # 11 |
был не раз
Сейчас нет на сайте
| Это не оператор, это объект. Можно конечно.
|
|
| |
Тритон | Дата: Пятница, 11 Мая 2012, 17:12 | Сообщение # 12 |
постоянный участник
Сейчас нет на сайте
| объекты - сами cin и cout, << и >> - операторы.
Не всё так плохо, как оно есть на самом деле.
Сообщение отредактировал Тритон - Суббота, 12 Мая 2012, 08:38 |
|
| |
hero564 | Дата: Пятница, 11 Мая 2012, 21:11 | Сообщение # 13 |
Made in Ukraine
Сейчас нет на сайте
| Quaternion, Тритон, спс за ответы и исправления))
|
|
| |