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

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

Войти
Регистрация
Восстановить пароль
 
ALINA4
4 / 4 / 0
Регистрация: 10.12.2012
Сообщений: 130
#1

перегрузка - C++

12.04.2013, 12:08. Просмотров 514. Ответов 14
Метки нет (Все метки)

1 С помощью механизма перегрузки функций реализовать функции для нахождения суммы:
1) двух чисел (результат – число);
2) двух строк (результат – строка);
3) строки и числа (из строки «сделать» число и сложить со вторым аргументом);
4) числа и строки (из числа получить строку и сложить строки).
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
32
33
34
35
36
37
38
39
40
41
42
43
44
#include <cstdlib>
#include <iostream>
 
using namespace std;
 
int Func(int a);
int Func(int a,int b);
int Func(int a,int b,int c);
 
 
 
int main(int argc, char *argv[])
{
 
int a = 5 ;int b = 8 ; int c = 10 ;
 
cout<<Func(a)<<"\n"; 
cout<<Func(a,b)<<"\n";
cout<<Func(a,b,c)<<"\n";
 
    system("PAUSE");
    return EXIT_SUCCESS;
}
 
 
 
int Func(int a){
    
    return a+a;
    
}
 
int Func(int a,int b){
    
    return a+b;
    
}
 
int Func(int a,int b,int c){
    
 
    return a+b+c;
    
}
как остальное доработать
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.04.2013, 12:08
Здравствуйте! Я подобрал для вас темы с ответами на вопрос перегрузка (C++):

Перегрузка в виде метода VS Перегрузка в виде функции друг - C++
Привет! Собственно сабж: В каких случаях используется перегрузка в виде метода, а когда в виде функции друг? Добавлено через 4...

Множественное наследование, Перегрузка функций, Перегрузка операторов, Использование дружественных функций и классов, Использование шаблонов классов - C++
Здравствуйте!!! Я бы хотел попросить помоч решить...ну или скинуть примеры таких задач, если вдруг у вас они завалялись на компе или...

Перегрузка - C++
ребята помогите сделать тут перегрузку очень нужно :) #include &quot;stdafx.h&quot; #include &lt;iostream&gt; #include &lt;time.h&gt; #include &lt;stdlib.h&gt;...

Перегрузка в c++ - C++
Собственно для чего нужна перегрузка функций или операторов ?

Перегрузка - C++
даны две перегрузки: 1. постфиксная для ++ чтобы прибавить 1 к height и к width Rectang &amp; operator ++(int) {height++; width++; ...

перегрузка в с++ - C++
Помогите нужно очень срочно!недавно писал о перегрузке есть перегрузка постфиксного инкремента Rectang &amp; operator ++(int) ...

14
Catstail
Модератор
22904 / 11270 / 1832
Регистрация: 12.02.2012
Сообщений: 18,482
12.04.2013, 14:51 #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
32
33
34
35
36
37
38
39
40
41
42
43
44
#include <string.h>
#include <iostream.h>
#include <stdlib.h>
 
int foo(int a, int b)
{
    return a+b;
}
 
char* foo(char *a, char *b)
{
    int la=strlen(a), lb=strlen(b);
    char *r = new char[la+lb];
    strcpy(r,a);
    strcat(r,b);
    return r;
}
 
int foo(char *a, int b)
{
    return atoi(a)+b;
}
 
char* foo(int a, char *b)
{
    char S[20];
    int lb=strlen(b);
    char *r;
    _itoa(a,S,10);
    r=new char[lb+strlen(S)];
    strcpy(r,S);
    strcat(r,b);
    return r;
 
}
 
int main(int argc, char* argv[])
{
    cout << foo(5,6) <<endl ;
    cout << foo("fff","ooo") << endl;
    cout << foo("123",5) << endl;
    cout << foo(123,"ttt") << endl;
    return 0;
}
Но сдается мне, что в C нет перегрузки функций. Только в C++
0
ALINA4
4 / 4 / 0
Регистрация: 10.12.2012
Сообщений: 130
12.04.2013, 16:40  [ТС] #3
почему в этой строке пишет ошибка

Добавлено через 29 секунд
_itoa(a,S,10)-вот в этой как исправить
0
Catstail
Модератор
22904 / 11270 / 1832
Регистрация: 12.02.2012
Сообщений: 18,482
12.04.2013, 17:40 #4
В какой системе работаешь?
0
ALINA4
4 / 4 / 0
Регистрация: 10.12.2012
Сообщений: 130
15.04.2013, 08:51  [ТС] #5
Борланд си++
0
Catstail
Модератор
22904 / 11270 / 1832
Регистрация: 12.02.2012
Сообщений: 18,482
15.04.2013, 09:34 #6
DOS?
0
ALINA4
4 / 4 / 0
Регистрация: 10.12.2012
Сообщений: 130
15.04.2013, 09:49  [ТС] #7
вроде бы.
0
Catstail
Модератор
22904 / 11270 / 1832
Регистрация: 12.02.2012
Сообщений: 18,482
15.04.2013, 10:34 #8
тогда убери подчерк. Функция itoa
0
ALINA4
4 / 4 / 0
Регистрация: 10.12.2012
Сообщений: 130
15.04.2013, 11:00  [ТС] #9
вот убрала пробел сработала. только результат тестирования какой то несовсем понятный.
вот нажимаю на компиляцию, появляется цифра 11
ввожу 1 выводит fff000, ввожу 2 выводит 128
ввожу 4 выводит 123ttt
такой должен быть результат
0
Catstail
Модератор
22904 / 11270 / 1832
Регистрация: 12.02.2012
Сообщений: 18,482
15.04.2013, 11:31 #10
Все так и должно быть:

5+6=11 (сложение чисел, результат число)
"fff"+"ooo" = "fffooo" (сложение строк, результат строка)
"123"+5 = 128 (сложение числовой строки с числом, результат число)
123+"fff"="123fff" (сложение числа со строкой, результат строка).

Все - по заданию. Что не нравится?
0
ALINA4
4 / 4 / 0
Регистрация: 10.12.2012
Сообщений: 130
15.04.2013, 12:00  [ТС] #11
просто у меня 5+6 вообще не появилось, сразу 11 из-за этого. можешь свой скрин этого результата тестирования как он у тебя пожалуйста

Добавлено через 17 минут
вот в чем ошибка я добавила чтоб отображалась на экране результат cin>>foo(5,6), сделала также для остальных они не выводятся на экран, только выводятся после того как я нажму какую нибудь цифру, как исправить
0
Catstail
Модератор
22904 / 11270 / 1832
Регистрация: 12.02.2012
Сообщений: 18,482
15.04.2013, 12:22 #12
Цитата Сообщение от ALINA4 Посмотреть сообщение
просто у меня 5+6 вообще не появилось
- а с чего бы им появляться? Ты в код-то загляни... Там сразу печатается результат.

Цитата Сообщение от ALINA4 Посмотреть сообщение
вот в чем ошибка
- и никакой ошибки.

Чтобы экран не исчезал, перед return в функции main вставь: system("PAUSE");
0
ALINA4
4 / 4 / 0
Регистрация: 10.12.2012
Сообщений: 130
15.04.2013, 13:53  [ТС] #13
нет я имела ввиду другое
cout << foo(5,6) <<endl ;
сin>>foo(5,6);
cout << foo("fff","ooo") << endl;
сin>>foo(""fff","ooo"");
cout << foo("123",5) << endl;

вот я вставила после каждого сin вывод на экран вот 11 выходит сразу а а остальное нет почему
сin>>foo("123",5);
cout << foo(123,"ttt") << endl;
сin>>foo(123,"ttt");
0
Tulosba
:)
Эксперт С++
4397 / 3233 / 297
Регистрация: 19.02.2013
Сообщений: 9,045
15.04.2013, 13:57 #14
ALINA4, cin - это для ввода. Читать можно в переменные, а не в функцию которая возвращает int.
Цитата Сообщение от ALINA4 Посмотреть сообщение
сin>>foo(5,6);
Что Вы ожидаете получить, написав такое?
1
ALINA4
4 / 4 / 0
Регистрация: 10.12.2012
Сообщений: 130
15.04.2013, 14:15  [ТС] #15
смотрите результат должен же сразу отображаться на экране также без ввода каких либо данных. почему сложение сразу появилось а для остальных мне нужно вводить какую любую цифру чтоб появилось. или так должно быть

Добавлено через 1 минуту
вот нажимаю на компиляцию программы
результат тестирования сначала 11-сразу на экране
а остальных значений нет
они появляются после того как я ввожу что то

Добавлено через 4 минуты
все разобралась спасибо большое

Добавлено через 24 секунды
извините за многие мои тупые вопросы, что то сегодня торможу конкретно

Добавлено через 11 секунд
спасибочки больщущеее
0
15.04.2013, 14:15
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
15.04.2013, 14:15
Привет! Вот еще темы с ответами:

перегрузка <<, >>, [] - C++
правильно ли я перегрузил &gt;&gt;, &lt;&lt;, !?? у меня такое ощущение что неправильно, если всатвил стороку сout&lt;&lt;&quot;fvfsvdv&quot;&lt;&lt;endl; вместо ...

Перегрузка [][] - C++
Возможно ли для данного класса обеспечить перегрузку жвойных скобок с тем, чтобы в программе можно было использовать выражения типа: ...

Перегрузка + - C++
#include &lt;iostream&gt; using namespace std; class loc { int n , m; public: loc() {} loc( int lg , lt) { n = lg; m =...

Перегрузка - C++
Написать программу на языке C++, реализующию перегруженную функцию z_cnt, получа- ющую в качестве аргумента или массив целых чисел, или...


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

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

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