C ++. Что такое подпрограмма и метод? - PullRequest
1 голос
/ 08 апреля 2010

Мне нужно сделать CPP HW. Один вопрос:

1) Написать подпрограмму (не метод) void promptForMovie (Movie & myMovie), которая .....

2) Написать метод void output (ostream & out); это ....

Мой вопрос: что такое подпрограмма и метод? Какой из них означает функцию, а что другой?

Спасибо

Ответы [ 4 ]

2 голосов
/ 08 апреля 2010

Это не термины C ++, поэтому вам придется спросить своего профессора, что он или она подразумевает под ними.

В других языках OO "method" обычно означает то, что в C ++ называется "функцией-членом«;то есть функция, которая является членом класса и вызывается для объектов этого класса.Сравните с «свободной функцией», которая, как следует из названия, является автономной функцией, которая не является членом какого-либо класса.

Я подозреваю, что ваш профессор означает «метод», что означает «функция-член», а подпрограмма - просто обычную свободную функцию.Но кто знает;Я бы не стал ставить свои оценки на это.

Попросите своего профессора перефразировать вопрос, используя нормативные термины.

1 голос
/ 08 апреля 2010

Подпрограмма - это простая, устаревшая, не связанная с объектом функция.

Метод является функцией-членом (класс или экземпляр); часть класса. Он должен вызываться либо с областью видимости класса, либо с областью объекта.

0 голосов
/ 08 апреля 2010

Оба термина сильно перекрывают друг друга, и вам необходимо уточнить у своего специалиста о них, но это способ их определения

  • Подпрограмма - это часть вашей программы, которая выполняет функциональныеПример подпрограммы, которая хранит результаты некоторых вычислений на данных.Теперь вам решать, как вы определяете такую ​​подпрограмму.Вы можете реализовать его как одну монолитную функцию или набор функций или, возможно, использовать классы.
  • Метод - другое имя для функции
0 голосов
/ 08 апреля 2010

Метод - это другое слово для функции-члена.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...