Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Операторы выполняемые над деревом https://www.cyberforum.ru/ cpp-beginners/ thread1445567.html
Не могу разобраться с задачкой. Может кто нибудь поможет? Напишите программу, которая представляет операторы, выполняемые над деревом - PARENT(n, T), LEFTMOST_CHILD(n, T),RIGHT_SIBLING(n, T). Всё...
Непонятно выражение "значение, возвращаемое функцией" C++
Уважаемые господа. Мне немного непонятно выражение "значение, возвращаемое функцией". Возвращаемое чему? и зачем?
C++ Cделать конструктор по умолчанию и копирования для класса Вот у меня класс строка: class strg { char *str; int len; public: strg(); strg(const strg &); }; реализация: https://www.cyberforum.ru/ cpp-beginners/ thread1445530.html C++ Работа с текстовыми файлами: найти последний символ в строке https://www.cyberforum.ru/ cpp-beginners/ thread1445513.html
Задача: Текстовый файл состоит из нескольких строк. Записать во второй файл последние символы из каждой строки первого файла. Какую функцию или что-либо другое нужно использовать для нахождения...
C++ Задача по водоснабжению города с e-olimp
Город состоит из N районов (1 ≤ N ≤ 100). Каждый регион имеет скважину для получения воды. Каждые две скважины соединены между собой трубой. По каждой трубе вода может течь только в одном...
C++ Использование указатель без индексов https://www.cyberforum.ru/ cpp-beginners/ thread1445491.html
Прошу подкорректировать программу, указать на ошибки (не критичные) или просто недочеты. И еще вопрос : учитель приказал не использовать индексы. Это как вообще? Массив так и так с индексами будет. Я...
C++ Оставить в числе только первые вхождения каждой цифры 23) Дано длинное целое неотрицательное число, шестнадцатеричное представление которого не содержит ни одного нуля. Просматривая число, начиная с младших разрядов, оставить в нем только первые... https://www.cyberforum.ru/ cpp-beginners/ thread1445486.html Побитовые операции. Инверсия нечетных битов C++
Дано длинное целое неотрицательное число. Получить число, инвертируя его нечетные биты.
C++ Найти элемент в контейнере priority_queue, используя STL вские итераторы и алгоритмы https://www.cyberforum.ru/ cpp-beginners/ thread1445477.html
Здравствуйте, задача описана в навание темы. Можно перебрать в цикле все элементы очереди, сравнивая с нужным, но требуется именно с помощью STL'вских итераторов и алгоритмов. Если не сложно,...
C++ Найти длину пути в дереве от корня до ближайшей вершины с заданным значением https://www.cyberforum.ru/ cpp-beginners/ thread1445469.html
написать программу которая находит длину пути от корня до ближайшей вершины со значением е. если такой вершины нет то ответ должен быть- 1
С помощью цикла for вычислить значение выражения C++
С помощью оператора цикла for вычислить y. Оператор if в теле цикла не использовать. Значение m и n вводить с клавиатуры. Шаг изменения переменных i и j указывается только в том случае, если он...
C++ В файле найти сведения о книгах данного автора изданных начиная с заданного года https://www.cyberforum.ru/ cpp-beginners/ thread1445421.html
Помогите, пожалуйста, решить задачу Дан файл, содержащий сведения о книгах. Сведения о каждой из книг – это фамилия автора, название и год издания. Разработать программу, которая читает этот файл...
3 / 0 / 0
Регистрация: 01.02.2015
Сообщений: 7
0

Классы. Работа с объектами типа массив - C++ - Ответ 7609958

13.05.2015, 20:03. Показов 448. Ответов 2
Метки (Все метки)

Не нашел подобной темы на форуме, да и вообще в интернете

Создать объекты для работы с классами согласно заданию (см. ниже), используя наследование, абстрактные классы, виртуальные функции. Работу с производными объектами осуществлять через указатель типа базового класса.

Задание:
Работа с объектами типа массив: одномерный массив символов, массив строчек.
Для данных объектов, необходимо использовать виртуальные функции для сортировки, а также виртуальные деструкторы для освобождения памяти.
a. Необходимо ввести N символов , N>= 3 и определить частоту повторения этих символов у ранее созданных объектах.
b. Отсортировать данные в объектах не содержащие введенных символов (для объектов типа массив строчек отсортировать строчки по первым трем буквам).
c. Работу необходимо обеспечить в динамической памяти.

Классы:
Кликните здесь для просмотра всего текста

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
class Array
{
protected:
    int Size;
    int CurrentIndex;
public:
    Array(int);
//  virtual void Recurrence() = 0;
//  virtual void Sort() = 0;
    virtual ~Array();
};
 
class CharArray : public Array
{
    char* arr;
public:
    CharArray(int);
    void AddChar(char);
    char operator[](int);
    virtual ~CharArray();
};
 
class StringArray : public Array
{
    string* arr;
public:
    StringArray(int);
    void AddString(string);
    string operator[](int);
    virtual ~StringArray();
};


Методы:
Кликните здесь для просмотра всего текста
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
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
#include "Array.h"
#include <iostream>
#include <conio.h>
#include <string.h>
 
using namespace std;
 
 
Array::Array(int size)
{
    Size = size;
    CurrentIndex = 0;
}
 
 
Array::~Array()
{
}
 
CharArray::CharArray(int size):Array(size)
{
    arr = new char[Size];
}
 
CharArray::~CharArray()
{
    delete [] arr;
}
 
void CharArray::AddChar(char input)
{
    arr[CurrentIndex] = input;
    CurrentIndex++;
}
 
char CharArray::operator[](int index)
{
    if (index < 0 || index>(Size - 1))
    { 
        cout << "Wrong index!";
        _getch();
        abort();
    }
    else return arr[index];
}
 
StringArray::StringArray(int size) :Array(size)
{
    arr = new string[Size];
}
 
StringArray::~StringArray()
{
    delete[] arr;
}
 
void StringArray::AddString(string input)
{
    arr[CurrentIndex] = input;
    CurrentIndex++;
}
 
string StringArray::operator[](int index)
{
    if (index < 0 || index>(Size - 1))
    {
        cout << "Wrong index!";
        _getch();
        abort();
    }
    else return arr[index];
}


Массив char вроде нормально работает. А вот со sring уже проблемы..
Буду признателен за любую помощь.

Вернуться к обсуждению:
Классы. Работа с объектами типа массив C++
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
13.05.2015, 20:03
Готовые ответы и решения:

Работа с объектами типа string
Здравия желаю!:) Возник вопрос по строкам. При таком коде#include&lt;iostream&gt;...

Задача (разъяснение) в алгоритм (программа, используя базовый и производный классы, создавала массив объектов типа производного класса)
Задача на наследование классов, базовый класс - &quot;люди&quot;, производный - &quot;студенты&quot;...как я понял, а...

Объединение двух связных списков с объектами одного типа
Здравствуйте. При изучении связных списков, написал шаблон для связного списка, с функциями...

Работа с памятью: можно ли в массив объектов с полем типа "Родитель", вписать объекты с полем типа "Потомок"
Здравствуйте. Предположим, что у нас есть массив из структур в которых находиться класс Item и...

2
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
13.05.2015, 20:03
Помогаю со студенческими работами здесь

Создать вектор, состоящий из 10 элементов типа myString и заполнить его объектами с произвольными строками
Есть класс myString. Нужно создать вектор, состоящий из 10 элементов типа myString и заполнить его...

Работа с объектами в С++
С текстового файла считывается информация о студентах (фамилия, когда и на какой срок выдали книгу...

Работа с объектами
Здравствуйте, делаю курсовую по работе с датами, их вычитанием и сложением. Вообще в начале у...

Работа с объектами классов
Всем здраствуйте. Помогите если вам не так сложно :) Вот сейчас я поясню, то что не могу сделать:...

0
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru