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

значение массива теряется - C++

Восстановить пароль Регистрация
 
InSpectr
 Аватар для InSpectr
10 / 10 / 1
Регистрация: 09.09.2013
Сообщений: 53
11.12.2013, 16:33     значение массива теряется #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
#include "stdafx.h"
#include <iostream>
 
using namespace std;
 
class a
{
    public:
        float mas[2];
        void tabl()
        {
            mas[0]=7;
            mas[1]=8;
        }
};
 
class b:public a
{
 
    public:
        void fun()
        {
            cout<<mas[1];
        }
};
 
    int main()
 
    {
        a ob;
        b ob2;
        ob.tabl();
        ob2.fun();
        return 0;
    }
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.12.2013, 16:33     значение массива теряется
Посмотрите здесь:

Найти значение 3-го по величине элемента и значения всех элементов массива, которые его превышают, заменить на найденное значение C++
Найти значение 3-го по величине элемента и значение всех элементов массива, которые его превышают, заменить на найденное значение C++
C++ Теряется значение в переменной
C++ Теряется точность
C++ Вывести начальные индексы всех елементов массива, значение которых превышает заданое значение А.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
kot17665
0 / 0 / 0
Регистрация: 11.12.2013
Сообщений: 36
11.12.2013, 16:35     значение массива теряется #2
попробуй создать конструкторы для своих колассов хотябы
InSpectr
 Аватар для InSpectr
10 / 10 / 1
Регистрация: 09.09.2013
Сообщений: 53
11.12.2013, 16:44  [ТС]     значение массива теряется #3
так?

Добавлено через 12 секунд
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
#include "stdafx.h"
#include <iostream>
 
using namespace std;
 
class a
{
    public:
        float *mas;
        a()
        {
            mas=new float[2];
        }
        void tabl()
        {
            mas[0]=7;
            mas[1]=8;
        }
};
 
class b:public a
{
    public:
        b()
        {
            g=new float [2];
            g[0]=mas[0];
            g[1]=mas[1];
        }
        void func()
        {
            cout<<g[1];
        }
    private:
        float *g;
 
 
};
 
    int main()
 
    {
        a ob;
        b ob2;
        ob.tabl();
        ob2.func();
 
        return 0;
    }
kot17665
0 / 0 / 0
Регистрация: 11.12.2013
Сообщений: 36
11.12.2013, 16:50     значение массива теряется #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
45
46
47
48
#include "stdafx.h"
#include <iostream>
 
using namespace std;
 
class a
{
    public:
        float *mas[2];
 
        a()
        {
        };
        void tabl()
        {
            mas[0]=7;
            mas[1]=8;
        };
};
 
class b:public a
{
    public:
        b()
        {
            g[0]=mas[0];
            g[1]=mas[1];
        };
        void func()
        {
            cout<<g[1];
        };
    private:
        float *g[2];
 
 
};
 
    int main()
 
    {
        a ob;
        b ob2;
        ob.tabl();
        ob2.func();
 
        return 0;
    }
попробуй так
InSpectr
 Аватар для InSpectr
10 / 10 / 1
Регистрация: 09.09.2013
Сообщений: 53
11.12.2013, 17:04  [ТС]     значение массива теряется #5
тоже не пашет
kot17665
0 / 0 / 0
Регистрация: 11.12.2013
Сообщений: 36
11.12.2013, 17:08     значение массива теряется #6
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
#include "stdafx.h"
#include <iostream>
 
using namespace std;
 
class a
{
    public:
        float mas[2];
 
        a()
        {
        };
        void tabl()
        {
            mas[0]=7;
            mas[1]=8;
        };
};
 
class b:public a
{
    public:
        b()
        {
            g[0]=mas[0];
            g[1]=mas[1];
        };
        void func()
        {
            cout<<g[1];
        };
    private:
        float g[2];
 
 
};
 
    int main()
 
    {
        a ob;
        b ob2;
        ob.tabl();
        ob2.func();
 
        return 0;
    }
тогда так

Добавлено через 37 секунд
какие ошибки выдавало?
InSpectr
 Аватар для InSpectr
10 / 10 / 1
Регистрация: 09.09.2013
Сообщений: 53
11.12.2013, 17:17  [ТС]     значение массива теряется #7
и это не работает. Он выводит не правильное значение массива

Добавлено через 6 минут
вот так можно
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
#include "stdafx.h"
#include <iostream>
 
using namespace std;
 
class a
{
    public:
 
        float mas[2];
        void tabl()
        {
            mas[0]=7.0;
            mas[1]=8.0;
        }
 
};
 
class b:public a
{
 
    public:
    void fun()
    {
        a::tabl();
        cout<<mas[1];
    }
};
 
int main()
 
{
a ob;
b ob2;
ob.tabl();
ob2.fun();
return 0;
}
kot17665
0 / 0 / 0
Регистрация: 11.12.2013
Сообщений: 36
11.12.2013, 17:21     значение массива теряется #8
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
#include "stdafx.h"
#include <iostream>
 
using namespace std;
 
class a
{
    public:
        float *mas;
 
        a()
        {
            mas = new float[2];
        };
        void tabl()
        {
            mas[0]=7;
            mas[1]=8;
        };
};
 
class b:public a
{
    public:
        b()
        {
            g = mas;
        };
        void func()
        {
            cout<<g[1];
        };
    private:
        float *g;
 
 
};
 
int main()
 
{
    b ob2;
    ob2.tabl();
    ob2.func();
 
    return 0;
}
чет я туплю в конце рабочего дня...

Добавлено через 1 минуту
Цитата Сообщение от InSpectr Посмотреть сообщение
и это не работает. Он выводит не правильное значение массива

Добавлено через 6 минут
вот так можно
C++
1
2
3
4
5
6
7
8
9
int main()
 
{
a ob; - лишнее
b ob2;
ob.tabl(); - не от того объекта вызов функции
ob2.fun();
return 0;
}
так
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
11.12.2013, 17:29     значение массива теряется
Еще ссылки по теме:

C++ Куда теряется точность?
C++ Заданы два массива А(5) и И(4). Первым на печать вывести массив, содержащий наибольшее значение. Напечатать также это значение и его порядковый номер
При передаче указателя в качестве аргумента функции теряется значение C++

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

Или воспользуйтесь поиском по форуму:
InSpectr
 Аватар для InSpectr
10 / 10 / 1
Регистрация: 09.09.2013
Сообщений: 53
11.12.2013, 17:29  [ТС]     значение массива теряется #9
спасибо, работает.
Yandex
Объявления
11.12.2013, 17:29     значение массива теряется
Ответ Создать тему
Опции темы

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