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

Массив указателей на объекты - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Вставка и удаление элемента массива! http://www.cyberforum.ru/cpp-beginners/thread1307986.html
Помогите с 17 и 21 задачей. Задачу надо переписывать в сообщение! В одном сообщении должна быть ОДНА задача! Отдельная тема про 17 задачу:http://www.cyberforum.ru/cpp-beginners/thread1307882.html Добавлено через 46 минут Задача 21:Задан массив v и число d.Написать программу,генерирующую число w ,полученным из v исключением элемента, ближайшего к d.
C++ Нахождение среднего арифметического трех целых чисел или суммы двух вещественных #include <iostream> #include <cmath> int main() { float x,y; int a,b,c; std::cout << "Input x,y В общем произведение и сумму я написал,вот только не уверен правильные ли формулы и то,что я их всё в одно записал или нужно было каждую отдельно,помогите исправить ошибки. http://www.cyberforum.ru/cpp-beginners/thread1307980.html
Найти всех соседей заданного символа C++
Прошу помочь! Данная последовательность символов, заканчивающаяся точкой. Найти всех соседей заданного символа (первый и последний символы считать соседями) и подсчитать количество символов, у которых левый сосед больше правого соседа. Заранее спасибо!
C++ Функция - шаблон
Объясните в чем ошибка) Задание: 2. Прикладом вдалого застосування функції-шаблону є функція find(), яка шукає елемент object у масиві list і повертає або індекс знайденого елемента (якщо його вдалось знайти), або “-1”, якщо заданого елемента не знайдено. Нижче наведено прототип конкретної версії функції find(). Перетворіть функцію find() у родову функцію і перевірте розв’язок у програмі для...
C++ ООП, Mvc Mfc C++ http://www.cyberforum.ru/cpp-beginners/thread1307924.html
Здравствуйте! Пытаюсь реализовать видео плеер на Mfc с использованием Mvc. То как будут распределени обязанности? Кто за что должен отвечать? Особенно интересует модель. На данный момент сделал так:
C++ Ввод переменных через пробел в одну строку на олимпиаде по информатике сегодня лажанулся капец как... хотел написать все на c++, пришлось писать на паскальке. там практически во всех задачах требуется вводить числа через пробел в строку, типа так: cin >> mas >> mas >> mas; а если заранее не известно, скольким элементам массива нужно присваивать и их МНОГО?.. я лично растерялся. вот если не в строку, а просто через цикл одну за другой -... подробнее

Показать сообщение отдельно
luigration
2 / 2 / 0
Регистрация: 04.01.2013
Сообщений: 159
23.11.2014, 12:25  [ТС]     Массив указателей на объекты
Цитата Сообщение от Croessmah Посмотреть сообщение
память выделили только под указатели, под объекты никто не выделял места.

потому что mas[0] - это указатель, а значит, селектор надо другой "->"
C++
1
mas[0]->Number =0;
Черт возьми, точно. Это же указатели. Спасибо.

Добавлено через 1 минуту
Цитата Сообщение от taras atavin Посмотреть сообщение
Так как объектов ещё нет, то перед
C++
1
mas[0]->Number =0;
надо ещё раз применить new, но уже
C++
1
mas[0]=new Element;
,
C++
1
2
3
4
for (i=size-1; i>=0; --i)
{
 mas[i]=new Element;
}
,
C++
1
2
3
4
for (i=size-1; i<size; --i) // только для беззнаковых типов, так как условие использует переполнение типа, а при переходе через ноль оно происходит только у беззнаковых
{
 mas[i]=new Element;
}
,
C++
1
mas[0]=new Element;
,
C++
1
2
3
4
for (i=0; i<size; ++i)
{
 mas[i]=new Element;
}
,
C++
1
2
3
4
for (p=mas+size-1; p>=mas; --p)
{
 *p=new Element;
}
,
C++
1
2
3
4
for (p=mas; p<mas+size; ++p)
{
 *p=new Element;
}
,
C++
1
2
3
4
for (p=mas; p<=mas+size-1; ++p)
{
 *p=new Element;
}
, или
C++
1
2
3
4
for (p=mas, last=mas+size-1; p<=last; ++p)
{
 *p=new Element;
}
.

Добавлено через 2 минуты
Во всех случаях можно при создании объектов вместо Element писать его потомков, а при создании самого массива лучше не надо и декларировать указатель на сам массив надо именно от базового класса.
Спасибо. Совершенно из головы вылетело.
 
Текущее время: 01:06. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru