Форум программистов, компьютерный форум CyberForum.ru

Перегрузка функции - C++

Восстановить пароль Регистрация
 
Владислаучык
0 / 0 / 0
Регистрация: 21.03.2013
Сообщений: 291
29.09.2013, 21:59     Перегрузка функции #1
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
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
class num
{
private:
    long a;
    long b;
    int c;
    int d;
public:
    num();
    num(long, long);
    num(int, int);
    ~num();
    long swap(long, long);
    int swap(int, int);
    void show();
    void see();
};
 
num::num()
{
    a=0;
    b=0;
    c=0;
    d=0;
}
 
num::num(long f, long v)
{
    a=f;
    b=v;
}
 
num::num(int z, int l )
{
    c=z;
    d=l;
}
 
 
num::~num()
{
 
}
 
void num::see()
{
    cout<<"Vivod: A: ";
        cout<<a;
    cout<<"B:  ";
    cout<<b;
}
 
long num::swap(long, long)
{
    long c=0;
    c=a;
    a=b;
    b=c;
    return a, b;
}
 
int num::swap(int, int)
{
int tmp=0;
tmp=c;
c=d;
d=tmp;
return c, d;
}
 
void num::show()
{
    cout<<"Vivod: A: ";
        cout<<a;
    cout<<"B:  ";
    cout<<b;
}
 
int main()
{
    num a(3, 4);
    num b(3.3, 4.4);
    a.see();
    a.swap(3, 4);
    b.swap(3.3, 4.4)
    a.show();
    system("pause");
}
Задание, написать перегрузку функции меняющее эементы местами.

Пишет существует более одного экземпляра конструктора нум, в чём тут проблема? помогите пожалуйста)

Добавлено через 14 минут
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
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
#include <string>
#include <iostream>
using namespace std;
 
class num
{
private:
    long a;
    long b;
    int c;
    int d;
public:
    num();
    ~num();
    void swap(long, long);
    void swap(int, int);
    void initint();
    void initlong();
    void show();
    void see();
};
 
num::num()
{
    a=0;
    b=0;
    c=0;
    d=0;
}
 
num::~num()
{
 
}
 
void num::initint()
{
    cout<<"Vvedite C: ";
    cin>>c;
    cout<<"Vvedite D: ";
    cin>>d;
 
}
 
void num::initlong()
{
    cout<<"Vvedite A: ";
    cin>>a;
    cout<<"Vvedite B: ";
    cin>>b;
 
}
 
void num::show()
{
    cout<<a;
    cout<<d;
    cout<<c;
    cout<<d;
}
 
void num::swap(long, long)
{
    long tmp=0;
    tmp=a;
    a=b;
    b=tmp;
}
 
void num::swap(int, int)
{
    int temp=0;
    temp=c;
    c=d;
    d=temp;
}
 
int main()
{
    num q;
    num a;
    q.initint();
    a.initlong();
    q.swap(3,4);
    a.swap(5.5,5.4);
    q.show();
    a.show();
    system("pause");
}
или так допустим

Добавлено через 19 минут
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
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
#include <string>
#include <iostream>
using namespace std;
 
class num
{
private:
    int a;
    int b;
    double c;
    double d;
public:
 
    num(int a1, int b1, double c1, double d1) : a(a1), b(b1), c(c1), d(d1) {}
    int swap(int, int);
    double swap(double, double);
    void see();
    void show();
};
 
int num::swap(int, int)
{
    int c=0;
    c=a;
    a=b;
    b=c;
    return a, b;
}
 
double num::swap(double, double)
{
    double c=0;
    c=a;
    a=b;
    b=c;
    return c, d;
}
 
void num::see()
{
    cout<<a;
    cout<<endl;
    cout<<b;
    cout<<endl;
    cout<<c;
    cout<<endl;
    cout<<d;
}
 
void num::show()
{
    cout<<a;
    cout<<endl;
    cout<<b;
    cout<<endl;
    cout<<c;
    cout<<endl;
    cout<<d;
}
 
int main()
{
    num obj(1,2, 2.3, 3.3);
    obj.swap(1,2);
    obj.swap(2.3, 3.3);
    obj.show();
    system("pause");
}
- вот так ошибок нету, но вообще не работает =\\
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.09.2013, 21:59     Перегрузка функции
Посмотрите здесь:

C++ Перегрузка функции
C++ Перегрузка функции
C++ Перегрузка функции
перегрузка функции C++
Перегрузка функции C++
Перегрузка операторной функции и функции ! C++
Вычислить функции с использованием их разложения в степенной ряд. Функции и Перегрузка функций C++
C++ Дружественные функции. Наследование. Перегрузка функции

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
User409368
191 / 168 / 6
Регистрация: 09.09.2013
Сообщений: 524
29.09.2013, 22:00     Перегрузка функции #2
Цитата Сообщение от Владислаучык Посмотреть сообщение
вот так ошибок нету, но вообще не работает =\\
еще бы она работала)

Цитата Сообщение от Владислаучык Посмотреть сообщение
return a, b;
Цитата Сообщение от Владислаучык Посмотреть сообщение
return c, d;
Владислаучык
0 / 0 / 0
Регистрация: 21.03.2013
Сообщений: 291
29.09.2013, 22:06  [ТС]     Перегрузка функции #3
Цитата Сообщение от _ Посмотреть сообщение
еще бы она работала)
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
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
#include <string>
#include <iostream>
using namespace std;
 
class num
{
private:
    int a;
    int b;
    double c;
    double d;
public:
 
    num(int a1, int b1, double c1, double d1);
    void swap(int, int);
    void swap(double, double);
    void see();
    void show();
};
 
num::num(int a1, int b1, double c1, double d1)
{
    a=a1;
    b=b1;
    c=c1;
    d=d1;
}
 
void num::swap(int, int)
{
    int c=0;
    c=a;
    a=b;
    b=c;
}
 
void num::swap(double, double)
{
    double c=0;
    c=a;
    a=b;
    b=c;
}
 
void num::see()
{
    cout<<a;
    cout<<endl;
    cout<<b;
    cout<<endl;
    cout<<c;
    cout<<endl;
    cout<<d;
}
 
void num::show()
{
    cout<<"Posle: ";
    cout<<endl;
    cout<<endl;
    cout<<a;
    cout<<endl;
    cout<<b;
    cout<<endl;
    cout<<c;
    cout<<endl;
    cout<<d;
}
 
int main()
{
    num obj(1,2, 2.3, 3.3);
    obj.see();
    obj.swap(1,2);
    obj.swap(2.3, 3.3);
    obj.show();
    system("pause");
}
- а так почиму нифига? )

Добавлено через 37 секунд
по разному писал вообще, но чёто никак =\\
Yandex
Объявления
29.09.2013, 22:06     Перегрузка функции
Ответ Создать тему
Опции темы

Текущее время: 12:38. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru