Консультация № 189244
23.04.2016, 01:55
0.00 руб.
0 0 0
Здравствуйте! У меня возникли сложности с написанием следующей программы:

Создать базовый класс Array с полями: массив типа unsigned char и поле для хранения количества элементов у текущего объекта-массива. Максимально возможный размер массива задается статической константой. Реализовать конструктор инициализации, задающий количество элементов и начальное значение (по умолчанию 0). Реализовать метод доступа к элементу, перегрузив операцию индексирования []. При этом должна выполняться проверка индекса на допустимость.
Реализовать в классе Array виртуальную функцию поэлементного сложения массивов. Реализовать два класса(условия ниже), переопределив виртуальную функцию сложения. Вызывающая программа должна продемонстрировать все варианты вызова виртуальных функций.
Создать класс BitString (Класс для работы с битовыми строками не более чем из 100 бит. Битовая строка должна быть представлена массивом типа unsigned char, каждый элемент которого принимает значение 0 или 1.) и класс String (Класс для работы со строками, аналогичными строками Turbo Pascal (строка представляется как массив 255 байт, длина - в первом байте). Максимальный размер строки должен задаваться.).

Приложение:
#include <iostream>
#include <conio.h>

using namespace std;

class Array {

static const int n=100;
unsigned char mass [n];
int elem;

Array(int n, int elem){
for (int i=0; i<n; i++) {
mass [i] = elem;
}
}

unsigned char operator [] (int i) {
if (i >=0 && i < n)
return mass [i];
else
cout << "Индекс недопустим";
}

virtual int getSub()=0;

};

class BitString {
unsigned char bit[100];
};

class String : public BitString {
public:
unsigned char str[255];

};

Обсуждение

Форма ответа