Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Maxims
0 / 0 / 0
Регистрация: 25.01.2013
Сообщений: 5
#1

function overloading - C++

31.08.2013, 17:27. Просмотров 469. Ответов 7
Метки нет (Все метки)

День добрый.
Что такое function overloading я понимаю, но вот не очень въезжаю, что требуется от меня в задании (учусь в универе прикладных наук по спец. IT)

Вот задание:

Write functions initialize_xy, that initializes two double variables that are passed as parameters. If we call the function in the form initialize_xy(&x, &y, 1.0, 2.0) it gives x a value 1.0 and y a value 2.0. If, on the other hand, we call function in the form initialize_xy(&x, &y) both variables get a value 0.0. You need to use function overloading to achieve this.

Write a short main function to test these functions (it only calls these two functions and displays the values of double variables after each call).

Remark. It is required that call in the test main function is exactly as given initialize_xy(&x, &y, 1.0, 2.0).

Если следовать заданию, то получается вот что -
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
#include <iostream>
 
double initialize_xy(double* x, double* y)
{
    std::cout << x << std::endl;
    std::cout << y << std::endl;
    return 0;
}
 
double initialize_xy(double *x, double *y, double , double)
{
    std::cout << x << std::endl;
    std::cout << y << std::endl;
    return 0;
}
 
using namespace std;
 
void main()
{
    double x, y;
 
    initialize_xy(&x, &y);
    
    initialize_xy(&x, &y, 1.0, 2.0);
    
}
Но это всё тупо показывает адрес и ничего более. И вообще это поинтеры. Что я не так понимаю?
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
31.08.2013, 17:27
Я подобрал для вас темы с готовыми решениями и ответами на вопрос function overloading (C++):

Overloading [] operators - C++
Преект компилируется нормально. По заданию нужно чтобы было реализованно 2 версии оператора одна для чтения другая для записи типа дано...

С концами запутался с operator overloading - C++
Всем привет. Тема operator overloading - моё слабое место, очень хочу разобраться. Читаю всякие статейки (могу скинуть ссылки, если...

C:\Dev-Cpp\lib\vector.h `ostream' is neither function nor member function; cannot be declared friend - C++
выкидывает C:\Dev-Cpp\lib\vector.h `ostream' is neither function nor member function; cannot be declared friend при компиляции. что делать?

Почему возникает ошибка "function returning function is not allowed" - C++
Подключаю заголовочный файл .dll библиотеки, возникают ошибки #pragma once #include &lt;vector&gt; struct RSA_Interface { ...

function - C++
Всем привет! Начал изучать функции и возникла проблема Что должно возвращать функция maxim? #include &lt;iostream&gt; #include &lt;Windows.h&gt; ...

function - C++
Даны действительные числа a1,...1n, b1,...bm. В последовательности a1,...an и в последовательности b1,...bm все члены следующие за членом с...

7
Vourhey
Почетный модератор
6490 / 2264 / 123
Регистрация: 29.07.2006
Сообщений: 12,534
31.08.2013, 17:31 #2
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
Чтобы показать значение нужно использовать *
Плюс, ты не инициализируешь числа.
Выводи числа в функции main.
1
castaway
Эксперт С++
4924 / 3032 / 372
Регистрация: 10.11.2010
Сообщений: 11,085
Записей в блоге: 10
Завершенные тесты: 1
31.08.2013, 17:38 #3
В случае с двумя параметрами функция должна инициализировать x и y значением 0.
В функции с четырьмя параметрами переменные должны быть инициализированы значениями, переданными в функцию.
0
Maxims
0 / 0 / 0
Регистрация: 25.01.2013
Сообщений: 5
31.08.2013, 17:45  [ТС] #4
Теперь показывает всё время 0. Значения не меняются.

Как сделать это -

If we call the function in the form initialize_xy(&x, &y, 1.0, 2.0) it gives x a value 1.0 and y a value 2.0.
0
castaway
Эксперт С++
4924 / 3032 / 372
Регистрация: 10.11.2010
Сообщений: 11,085
Записей в блоге: 10
Завершенные тесты: 1
31.08.2013, 17:46 #5
В функции initialize_xy(&x, &y, 1.0, 2.0) присваиваешь переменным x и y значения переданные в качестве параметров (в данном примере 1 и 2 соответственно).
0
Maxims
0 / 0 / 0
Регистрация: 25.01.2013
Сообщений: 5
31.08.2013, 17:48  [ТС] #6
Цитата Сообщение от castaway Посмотреть сообщение
В функции initialize_xy(&x, &y, 1.0, 2.0) присваиваешь переменным x и y значения переданные в качестве параметров (в данном примере 1 и 2 соответственно).
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
#include <iostream>
 
double initialize_xy(double* x, double* y)
{
    std::cout << *x << std::endl;
    std::cout << *y << std::endl;
    return 0;
}
 
double initialize_xy(double *x, double *y, double a, double b)
{
    *x = a;
    *y = b;
    std::cout << *x << std::endl;
    std::cout << *y << std::endl;
    return 0;
}
 
using namespace std;
 
void main()
{
    double x, y;
    x = 0;
    y = 0;
 
    initialize_xy(&x, &y);
    
    initialize_xy(&x, &y, 1.0, 2.0);
    
}
Так???
0
castaway
Эксперт С++
4924 / 3032 / 372
Регистрация: 10.11.2010
Сообщений: 11,085
Записей в блоге: 10
Завершенные тесты: 1
31.08.2013, 17:49 #7
Цитата Сообщение от Maxims Посмотреть сообщение
Так???
Так. А в функции initialize_xy(double* x, double* y) присваиваешь переменным значение 0.
Да, еще из задания я понял, что вывод значений необходимо производить из main.
1
Maxims
0 / 0 / 0
Регистрация: 25.01.2013
Сообщений: 5
31.08.2013, 17:50  [ТС] #8
А я то думал, что не так задание понял. Спасибо. Просто думал, что при передачи адреса, можно сразу же и поменять значение.

Точно. Вывод в main
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
31.08.2013, 17:50
Привет! Вот еще темы с ответами:

'pf' cannot be used as a function - C++
'pf' cannot be used as a function что это и как исправить?

const function - C++
Здравствуйте, совсем забыл не напомните, что меняется в функции в зависимости от расположения const: Например: const int const...

Function does not take 0 arguments - C++
Доброго времени суток! Задали написать программу (Найдите объём правильной треугольной призмы, все ребра которой равны a. Вычислить...

Function abs - C++
Ошибка 1.error C2668: abs: неоднозначный вызов перегруженной функции строка 12 Ошибка 2.error C2668: abs: неоднозначный вызов...


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

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

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