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

Как инит масс, передава указатель конструктору? - C++

Восстановить пароль Регистрация
 
Владислаучык
0 / 0 / 0
Регистрация: 21.03.2013
Сообщений: 288
08.10.2013, 23:08     Как инит масс, передава указатель конструктору? #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
#include <iostream>
#include <string>
using namespace std;
 
class swapall
{
private:
    int *a;
    double *b;
    string slovo;
    string slovo1;
public:
    swapall();
    swapall(int*);
    swapall( double*);
    swapall(string s, string s1);
    swapall(const swapall &);
    ~swapall();
    void swap(int, int);
    void swap(double, double);
    void swap(string, string);
    void showint();
    void shows();
};
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
90
91
92
93
#include "заголовочный.h"
#include <iostream>
#include <string>
using namespace std;
 
swapall::swapall(int *num)
{
    a=new int[2];
    for(int i=0; i<2; i++)
        a[i]=num[i];
}
 
swapall::swapall(const swapall &copy)
{
    a=new int[2];
    for(int i=0; i<2; i++)
        *(a+i)=*(copy.a+i);
        b=new double[2];
    for(int i=0; i<2; i++)
        *(b+i)=*(copy.b+i);
}
 
/*swapall::swapall(const swapall &copyy)
{
    b=new double[2];
    for(int i=0; i<2; i++)
        *(b+i)=*(copyy.b+i);
}*/
 
 
swapall::swapall()
{
    a=0;
    b=0;
    slovo="no name";
    slovo1="no name";
}
 
swapall::~swapall() {
        delete [] a;
        delete [] b; 
}
 
swapall::swapall(double *num)
{
    num=new double[2];
    for(int i=0; i<2; i++)
        *(b+i)=*(num+i);
}
 
swapall::swapall(string s, string s1)
{
    slovo=s;
    slovo1=s1;
}
 
void swapall::swap(int, int)
{
    int tmp=0;
    tmp=a[0];
    a[0]=a[1];
    a[1]=tmp;
}
 
void swapall::swap(double, double)
{
    double tmp=0;
    tmp=b[0];
    b[0]=b[1];
    b[1]=tmp;
}
 
void swapall::swap(string, string)
{
    string tmp="no name";
    tmp=slovo;
    slovo=slovo1;
    slovo1=tmp;
}
 
void swapall::showint()
{
    cout<<endl;
    cout<<a;
}
 
void swapall::shows()
{
    cout<<endl;
    cout<<slovo;
    cout<<endl;
    cout<<slovo1;
}
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
#include "заголовочный.h"
#include <iostream>
#include <string>
using namespace std;
 
int main()
{
    int *a;
    a=new int[2];
    cout<<"Проинициализируйте элементы массива int\n";
    for(int i = 0; i < 2; i++) {
        cout<<"Введите элемент "<< i + 1 <<" : ";
        cin >> a[i];
    while(1) {
        if (!cin.good()){
            cin.clear();
            cin.ignore(numeric_limits<streamsize>::max(),'\n');
            cout << "\nНеобходимо ввести цифру!\n" << "Повторите попытку: ";
            cin >> a[i];
        }
        else { cin.ignore(numeric_limits<streamsize>::max(),'\n'); break; }
    }
    }
 
    swapall q(a);
    q.showint();
    q.swap(1,2);
    q.showint();
    swapall q1("vasko", "zaza");
    q1.swap("s", "k");
    q1.shows();
    system("pause");
}
Проблема вот в чём, на выводе вместо чисел выводится нечто типа 00514С88, подскажите плз в чём проблема?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.10.2013, 23:08     Как инит масс, передава указатель конструктору?
Посмотрите здесь:

Вопрос по конструктору C++
Как получить такую картинку (двухразм. масс.) в C++? C++
Что значит константный указатель на объект, указатель на константный объект, и как это можно использовать? C++
C++ Передать инициализированный std::vector конструктору базового класса
Расскажите, как здесь работает указатель на указатель? C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Kuzia domovenok
 Аватар для Kuzia domovenok
1882 / 1737 / 116
Регистрация: 25.03.2012
Сообщений: 5,907
Записей в блоге: 1
08.10.2013, 23:22     Как инит масс, передава указатель конструктору? #2
Цитата Сообщение от Владислаучык Посмотреть сообщение
void swapall::showint()
{
* * cout<<endl;
* * cout<<a;
}
C++
1
2
for(int i=0; i<2; i++)
        cout<<a[i]<<endl;
Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
11822 / 6801 / 769
Регистрация: 27.09.2012
Сообщений: 16,869
Записей в блоге: 2
Завершенные тесты: 1
08.10.2013, 23:34     Как инит масс, передава указатель конструктору? #3
А что Вы вообще хотите сделать?
Просто ошибок много и не понятно ради чего.
Владислаучык
0 / 0 / 0
Регистрация: 21.03.2013
Сообщений: 288
09.10.2013, 00:16  [ТС]     Как инит масс, передава указатель конструктору? #4
Задание перегрузить функцию меняющую элементы (инт и дабл должны быть в массиве динамичском обязательно)Croessmah,
Yandex
Объявления
09.10.2013, 00:16     Как инит масс, передава указатель конструктору?
Ответ Создать тему
Опции темы

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