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

Создать класс MyString - C++

Восстановить пароль Регистрация
 
Glamorous
0 / 0 / 0
Регистрация: 06.06.2012
Сообщений: 7
05.06.2013, 18:32     Создать класс MyString #1
Ребята спайсайте Сессия до экзамена осталось 12 часов!!!
Отблагодарю материально если все правильно решите, в долгу не останусь!
Сразу говорю ничего уточнить и пояснить не могу ничего не знаю по с++ вообще
Сама задача:

Создать класс MyString, содержащий элемент данных указатель на массив типа char - текстовую строку. Конструктор класса с параметром (максимальной длиной строки) должен выделять память под размещение строки заданной длины. Переопределить для класса операцию [ i ] как операцию индексации, которая должна обеспечивать доступ к i - му символу как на чтение, так и на запись; при этом должна осуществляться проверка выхода за пределы существующей строки. Создайте также тестирующую оболочку, позволяющую продемонстрировать работу класса. Можно разработать как в текстовом, так и в визуальном режиме.

Заранее огромное спасибо!!!!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.06.2013, 18:32     Создать класс MyString
Посмотрите здесь:

C++ Создать Класс Coins (монеты). Класс сохраняет массив из 3 монет ...
Создать класс Pair(пара чисел) и класс-наследник Fraction C++
C++ Создать базовый класс - Array и производный класс - Money для работы денежной суммы
C++ Создать класс - данные - абстрактный базовый класс. Создать производные классы
C++ Создать абстрактный базовый класс Тройка чисел с виртуальными методами увеличения на 1. Создать производный класс Время со своими функциями
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
BumerangSP
 Аватар для BumerangSP
4283 / 1405 / 121
Регистрация: 16.12.2010
Сообщений: 2,941
Записей в блоге: 3
05.06.2013, 19:24     Создать класс MyString #2
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
#include <iostream>
 
class MyString
{
    char* str;
    size_t length;
public:
    MyString(const int& maxLength): length(maxLength), str(new char[maxLength])  {}
    char& operator [] (const size_t& index) const
    {
        if (index >= length)
            std::cerr << "\nOut of range\n"; 
        return this->str[index];
    }
    ~MyString()
    {
        delete []str;
    }
};
int main()
{
    MyString mystring(50);
    for (int i=0; i<30; ++i)
        std::cout << (mystring[i] = char(i+100)) << ' '; // заполняем - выводим
    mystring[71] = 'q'; // проверка на выход из диапазона
    std::cout << std::endl;
}
Glamorous
0 / 0 / 0
Регистрация: 06.06.2012
Сообщений: 7
06.06.2013, 11:36  [ТС]     Создать класс MyString #3
Спасибо огромное...Пожалуйста напишите пояснение к каждой строчке если вас это не затруднит какая операция что выполняет... вобщем нужно пояснение к каждой строке чтобы я мог объяснить преподавателю.. и в лс скиньте реквизиты куда перевести вам денежку за помощь))
Если пояснение напишит ктото другой отблагодарю также финансово)
Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
11800 / 6779 / 765
Регистрация: 27.09.2012
Сообщений: 16,829
Записей в блоге: 2
Завершенные тесты: 1
06.06.2013, 11:50     Создать класс MyString #4
Как то так:
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
#include <iostream>
 
class MyString
{
    char* str;          //Указатель на буфер
    size_t length;      //Кол-во элементов
public:
    //Конструктор, принимающий длину строки.
    //В списке инициализации идициализируется length переданным значением 
    //и инициализируется указатель str адресом выделенной памяти
    MyString(const int& maxLength): length(maxLength), str(new char[maxLength])  {}
    char& operator [] (const size_t& index) const
    {
        if (index >= length)//Если индекс выходит за пределы буфера, тогда
            std::cerr << "\nOut of range\n"; //Выводим в стандартный не буферизированный поток сообщение
        return this->str[index];//Возвращаем ссылку на элемент
    }
    ~MyString()
    {
        delete []str;//Освобождаем память.
    }
};
int main()
{
    MyString mystring(50);//Создаем объект типа MyString
    for (int i=0; i<30; ++i)
        std::cout << (mystring[i] = char(i+100)) << ' '; // заполняем - выводим
    mystring[71] = 'q'; // проверка на выход из диапазона
    std::cout << std::endl;
}
Цитата Сообщение от Glamorous Посмотреть сообщение
Если пояснение напишит ктото другой отблагодарю также финансово)
В этом разделе помощь бесплатная
Платные услуги оказываются в другом разделе.
Glamorous
0 / 0 / 0
Регистрация: 06.06.2012
Сообщений: 7
06.06.2013, 17:16  [ТС]     Создать класс MyString #5
огромное спасибо))))

Добавлено через 5 часов 22 минуты
странно текс выдает ошибку вроде как... чтото не то?? я не могу проверить у меня вообще нет с++ =(
Yandex
Объявления
06.06.2013, 17:16     Создать класс MyString
Ответ Создать тему
Опции темы

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