Другие языки программирования и технологии

Помогите разобраться с заданием С++.

Есть такое задание: Перегрузку можно осуществить путём создания функций, одна из которых возвращает значение через своё имя, другая осуществляет передачу параметров с помощью указателей, третья осуществляет передачу параметров с помощью ссылок. Подскажите, как что понимать: одна из которых возвращает значение через своё имя - это что то типа F=funcname(X) ? другая осуществляет передачу параметров с помощью указателей - это что то типа int funcname(int* X) с обращением к ней F= funcname(&X) ? третья осуществляет передачу параметров с помощью ссылок - а как тут быть??
одна из которых возвращает значение через своё имя
int f(void)
{
return значение;
}

другая осуществляет передачу параметров с помощью указателей
void f(int *x)
{
*x = значение;
}

третья осуществляет передачу параметров с помощью ссылок.
void f(int &x)
{
x = значение;
}
ОЖ
Олжас Жанарбекович
21 360
Лучший ответ
насколько я знаю &X это и есть ссылка, т. е. передача через ссылку:
void func(int& X); //если не ошибаюсь. .
любое изменение ссылки повлечет за собой изменение переменной. . ну типо:
b=2;
&a=b //&a=2; b=2
&a=3 //&a=3; b=3
Вроде со всем разобрались, кроме первого варианта.

Функция вида int& funcname(), результат её работы возвращается НЕ по значению, как всегда, а по ссылке. Таким образом можно создавать конструкции вида funcname()=value, имея ввиду, что вместо фукнции будет стоять lvalue. Например
...
int& funcname(int& var) {return var;}
...
main()
{
int x=3;
funcname(x)=10;
printf("%d", x);
return 0;
}
PS: Простите, если есть неточности - я давно не писал на С++
Алексей Пермяков Такой вопрос, а смысл в данной манипуляции, ведь на выходе мы получаем 10.
Ссылка - это по сути псевдоним, другое имя для той же переменной. Передача параметра с помощью ссылки будет выглядеть так:

funcname(int &a)
{
a++;
}

int x=10;
funcname(x);
//теперь х равен 11
int x, y; // глобальные переменные
void func(int&, int&); //прототип

int main()
{
cin >> x >> y;
func(x, y); // под x придет а, под y придет b.
cout << "x = " << x << " y = " << y; // x = 33 y = 11
}

void func(int&a, int&b)
{
x=33;
y=11;
//return не надо оперирует глобальными переменными а не копиями
}
Анатолий Долганов вай напутал с переменными xD
Передача по ссылке.
int x, y; // глобальные переменные
void func(int&, int&); //прототип

int main()
{
cin >> x >> y;
func(x, y); // под x придет y, под y придет x.
cout