Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
levgen
3 / 3 / 2
Регистрация: 07.02.2013
Сообщений: 185
#1

В каких методах фактических параметров (аргументов) больше, чем формальных? - C++

25.06.2015, 14:22. Просмотров 415. Ответов 10
Метки нет (Все метки)

подскажите, в каких методах фактических параметров(аргументов) больше чем при их описании?
http://www.cyberforum.ru/cpp-beginners/thread1304488.html
например перегруженный оператор присваивания
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.06.2015, 14:22
Я подобрал для вас темы с готовыми решениями и ответами на вопрос В каких методах фактических параметров (аргументов) больше, чем формальных? (C++):

Список формальных параметров в функции
Не понимаю цель формальных параметров. Зачем, например, вводить (int a, int b)...

Несоответствие в списке формальных параметров
Ошибка 1 error C2563: несоответствие в списке формальных параметров (17 строка)...

Использование функций в качестве формальных параметров
Помогите вычислить f(x)/g(x), где в качестве f(x) и g(x) могут быть четыре...

Error C2563: несоответствие в списке формальных параметров
вот отрывок программы с ошибками, что не так? int i = 0; while (x <= xk)...

Как понять список формальных параметров функции Bar?
class Foo { void friend Bar(Foo & foo); private: int data;

10
zss
Модератор
Эксперт С++
6952 / 6514 / 4135
Регистрация: 18.12.2011
Сообщений: 17,183
Завершенные тесты: 1
25.06.2015, 14:29 #2
Цитата Сообщение от levgen Посмотреть сообщение
например перегруженный оператор присваивания
Этот оператор всегда имеет ровно 2 параметра:
1. Переменная, которая стоит слева от равно
2. Переменная, которая стоит справа от равно
Так, что этот пример Вам не подходит.
А вот возможность создавать методы с переменным числом параметров (типа scanf):
C++
1
void f(int n,...);
это, наверное, как раз то.
1
levgen
3 / 3 / 2
Регистрация: 07.02.2013
Сообщений: 185
25.06.2015, 14:42  [ТС] #3
zss, да это подходит , но есть еще те где ровно на 1 больше
какие?
0
zss
Модератор
Эксперт С++
6952 / 6514 / 4135
Регистрация: 18.12.2011
Сообщений: 17,183
Завершенные тесты: 1
25.06.2015, 14:48 #4
Они Вам не подходят, т.к. тот, на который больше - это неявно переданный указатель на объект,
для которого вызван метод (this). Т.е. реально все равно передается одинаковое количество параметров.
0
hoggy
Заблокирован
25.06.2015, 14:52 #5
Лучший ответ Сообщение было отмечено levgen как решение

Решение

Цитата Сообщение от levgen Посмотреть сообщение
подскажите, в каких методах фактических параметров(аргументов) больше чем при их описании?
ни в каких.

функции не могут получать аргументов больше,
чем задекларированно в их параметрах.

Добавлено через 3 минуты
Цитата Сообщение от levgen Посмотреть сообщение
zss, да это подходит , но есть еще те где ровно на 1 больше
какие?
нету таких.

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

однако, к аргументам функций неявный указатель this не имеет никакого отношения.
это - внутренняя кухня работы самого компилятора,
а не часть языка с++.
1
levgen
3 / 3 / 2
Регистрация: 07.02.2013
Сообщений: 185
25.06.2015, 15:08  [ТС] #6
опишу картину целиком
www.cyberforum.ru/cpp-beginners/thread1487085.html
вот моя тема, где есть код с оператором присваивания и как говорит препод там именно 1 аргумент указывается, который other. Но в коде дальше там по его словам аргументов 2.
вот исходя из этого кода, он спрашивает- в каких еще методах такое может быть??
Ответ в методах типа scanf подошел, но там мы указываем переменное число аргументов.
А препод уточнил :суть вопроса в том, какие методы есть с ровно на 1 аргумент больше, чем это было описано
0
hoggy
Заблокирован
25.06.2015, 15:15 #7
Цитата Сообщение от levgen Посмотреть сообщение
вот моя тема, где есть код с оператором присваивания и как говорит препод там именно 1 аргумент указывается, который other. Но в коде дальше там по его словам аргументов 2.
можете посоветовать вашему преподавателю подучить с++.
конкретно: научиться различать что есть операнд, а что есть аргумент.

все аргументы функции (или функции-члена) , которые может принимать функция (или функция-член)
указаны в прототипе функции (или функции-члена) в виде параметров.

единственный аргумент, который принимает operaotor= это - other.
указатель this, являющийся левостоящим операндом функции operator= не является аргументом этой функции.
1
levgen
3 / 3 / 2
Регистрация: 07.02.2013
Сообщений: 185
25.06.2015, 18:15  [ТС] #8
hoggy, передам ваши слова), но ответ остается не совсем понятным
0
levgen
3 / 3 / 2
Регистрация: 07.02.2013
Сообщений: 185
14.07.2015, 10:28  [ТС] #9
Все таки может кто-то даст новый вариант ответа, если не сложно?!
http://www.cyberforum.ru/post7806598.html
0
levgen
3 / 3 / 2
Регистрация: 07.02.2013
Сообщений: 185
20.07.2015, 13:04  [ТС] #10
Подскажите, вопрос актуальный
0
levgen
3 / 3 / 2
Регистрация: 07.02.2013
Сообщений: 185
05.08.2015, 11:18  [ТС] #11
Люди добрые подскажите, еще возможно правильные варианты ответов.
0
05.08.2015, 11:18
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
05.08.2015, 11:18
Привет! Вот еще темы с решениями:

Ошибка в калькуляторе "Несоответствие в списке формальных параметров"
такая ситуация: второй день учу с++, до этого ничего не учил, поэтому прошу...

Написать программу, которая вычисляет значение выражения, и определить ее значение для введенных пользователем значений фактических параметров.
Написать программу, которая вычисляет значение выражения, и определить ее...

Изменение параметров конструктора без аргументов
Как в конструкторе без параметров изменить значения из функции main?

Каких чисел в файле больше?
Всем привет. Возникла проблема по решению задачи на C. Как решить на массивах...


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

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Опции темы

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