Модераторы: bsa
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Реализация класса IntArray. Разработать тестовую программу 
:(
    Опции темы
Quotter
Дата 15.9.2010, 10:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 15
Регистрация: 15.9.2010

Репутация: нет
Всего: нет



   Разработать тестовую программу для проверки работоспособности класса (т.е. необходимо убедиться в работоспособности всех конструкторов и операторов класса, а также всех его методов). Для этого достаточно делать распечатку массива после выполнения каждой операции, которая может изменять его содержимое.

Код
class IntArray 
{
public:            // открытая часть, или интерфейс класса
    IntArray(int sz = 12);            // конструктор по умолчанию
    IntArray(const IntArray &rhs);    // копирующий конструктор
    IntArray(int *array, int sz);    // инициализация встроенным массивом
    ~IntArray() {delete[] pia;}        // Деструктор, освобождает память, 
                        // занятую объектом
    int size();                // возвращает размер массива;
    int min();                // возвращает минимальный и
    int max();                // максимальный элемент
    // объявление операторов для работы с объектами класса
    bool operator== (const IntArray &rhs);    // проверка на равенство
    bool operator!= (const IntArray &rhs);    // и неравенство массивов.
    int& operator[] (int index);    // оператор доступа к элементам массива
    IntArray& operator = (const IntArray &rhs);// оператор присваивания
private:    // закрытая часть, реализация класса
    int    _size;        // размер текущего объекта массива;
    int    *pia;        // указатель на встроенный массив, содержащий
//  элементы объекта
};


Вопрос:

1. Как реализовать оператор проверки на равенство объектов.
2. Как реализовать метод, возвращающий размер объекта.


Модератор: Не забываем пользоваться кнопочкой "Код"

Это сообщение отредактировал(а) bsa - 15.9.2010, 12:55
PM MAIL   Вверх
djamshud
Дата 15.9.2010, 10:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Пердупержденный
***


Профиль
Группа: Завсегдатай
Сообщений: 1655
Регистрация: 23.11.2009

Репутация: 4
Всего: 39



1. memcmp для сравнения int *pia.
2. Какого объекта? Размер каждого объекта в массиве - sizeof(int), количество элементов в массиве - size(). Если нужно узнать, сколько всего байт в памяти занимает объект-массив, то sizeof(array)+array.size()*sizeof(int).

Это сообщение отредактировал(а) djamshud - 15.9.2010, 10:58


--------------------
'Cuz I never walk away from what I know is right
Alice Cooper - Freedom
PM   Вверх
Quotter
Дата 15.9.2010, 11:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 15
Регистрация: 15.9.2010

Репутация: нет
Всего: нет



Как реализовать (1)оператор доступа к элементам объекта и (2)метод, возвращающий произведение всех элементов объекта.
PM MAIL   Вверх
azesmcar
Дата 15.9.2010, 11:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


uploading...
****


Профиль
Группа: Участник Клуба
Сообщений: 6291
Регистрация: 12.11.2004
Где: Армения

Репутация: 52
Всего: 211



Цитата(Quotter @  15.9.2010,  11:09 Найти цитируемый пост)
(1)оператор доступа к элементам объекта 

Код

return pia[index];

Цитата(Quotter @  15.9.2010,  11:09 Найти цитируемый пост)
метод, возвращающий произведение всех элементов объекта. 

никак, что этот метод делает в классе IntArray? Тебе он там не кажется лишним? Смотри как реализована стандартная библиотека, конкретнее класс vector и алгоритмы типа accumulate.

Это сообщение отредактировал(а) azesmcar - 15.9.2010, 11:19
PM   Вверх
Quotter
Дата 15.9.2010, 11:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 15
Регистрация: 15.9.2010

Репутация: нет
Всего: нет



Разбирался бы в программирование по лучьше тогда бы небыло таких вопросов ,))
Пока учусь только ,)
Спасибо за ответы ,)
PM MAIL   Вверх
Quotter
Дата 16.9.2010, 17:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 15
Регистрация: 15.9.2010

Репутация: нет
Всего: нет



Еще вопрос. Как реализовать:
1. Копирующий конструктор.
2. Конструктор, инициализирующий объект встроенным массивом.
3. Конструктор, инициализирующий объект с 15 элементами по умолчанию.
PM MAIL   Вверх
djamshud
Дата 16.9.2010, 17:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Пердупержденный
***


Профиль
Группа: Завсегдатай
Сообщений: 1655
Регистрация: 23.11.2009

Репутация: 4
Всего: 39



Quotter, вам либо в центр помощи (раздел форума), либо в учебники. Если действительно учитесь программировать, лучше второй вариант.


--------------------
'Cuz I never walk away from what I know is right
Alice Cooper - Freedom
PM   Вверх
Quotter
Дата 16.9.2010, 17:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 15
Регистрация: 15.9.2010

Репутация: нет
Всего: нет



Учебник одно. Описать все для всех внятно ни у кого не получиться.
А спросить у знающих людей и посмотреть на ответы каждого и понять, гораздо легче.
PM MAIL   Вверх
toxx
Дата 16.9.2010, 19:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 653
Регистрация: 4.3.2009
Где: НН

Репутация: 4
Всего: 13



Quotter
загляните сюда, может чего почерпнете( делал пол года назад шаблонами, что лучше наверно)

PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Для новичков"
JackYF
bsa

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0517 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.