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

Странно себя ведёт массив в классе. - C++

Восстановить пароль Регистрация
 
frm
0 / 0 / 0
Регистрация: 23.05.2010
Сообщений: 18
19.11.2010, 19:41     Странно себя ведёт массив в классе. #1
Доброго времени суток всем.
Есть у меня некий класс
C++
1
2
3
4
5
6
7
8
9
10
class * {
private
int mas[SIZE];
int len; //фактическая длина массива
public
class(){};
...
...
...
функция добавления элементов в массив с рандома()
и есть у меня элемент SIZE , заданный константой.
И проблема моя в следующем:
Если массив заполнить по максимуму, то последний элемент странно себя вести начинает:
меняется значение len(вероятнее всего на само значение последнего числа), а значение последнего числа массива меняется len.

ps. если фактическая длина массива будет не максимальной (то биш если size=10, а len=(от 1 до 9) то всё ок.
прошу помочь понять, в чём дело)) (код скинуть не получится ибо всё на др. компе)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.11.2010, 19:41     Странно себя ведёт массив в классе.
Посмотрите здесь:

C++ cin странно себя ведет
C++ Непонятно почему ведёт себя так программа
Почему нехорошо себя ведёт конструктор класса (не компилится ничё), если ему параметром ссылку на константу? C++
C++ циклы ведут себя как то странно
класс string. Программа странно себя ведет C++
C++ Перегрузка оператора индексации для класса плохо себя ведёт
Странно видёт себя программа C++
Почему программа себя странно ведет: зацикливается после ввода значений? C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
valeriikozlov
Эксперт C++
 Аватар для valeriikozlov
4660 / 2486 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
19.11.2010, 19:52     Странно себя ведёт массив в классе. #2
frm, Чуствую все здесь очень просто:
если фактическая длина массива будет не максимальной (то биш если size=10, а len=(от 1 до 9) то всё ок.
Вы знаете о том что если объявить массив например так:
int mas[10];
то можно обращаться к элементам массива так:
mas[0];
mas[1];
...
mas[9];
но вот так нельзя:
mas[10];
frm
0 / 0 / 0
Регистрация: 23.05.2010
Сообщений: 18
20.11.2010, 16:32  [ТС]     Странно себя ведёт массив в классе. #3
Мда, спасибо, что то я ступил))).
Yandex
Объявления
20.11.2010, 16:32     Странно себя ведёт массив в классе.
Ответ Создать тему
Опции темы

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