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

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

Восстановить пароль Регистрация
Другие темы раздела
C++ Создать два класса: PointXY с данными x, y (точка на плоскости в декартовых координатах) и PointPolar с данными r, phi (точка на плоскости в полярных http://www.cyberforum.ru/cpp-beginners/thread892306.html
Создать два класса: PointXY с данными x, y (точка на плоскости в декартовых координатах) и PointPolar с данными r, phi (точка на плоскости в полярных координатах). Конструкторы классов с двумя параметрами должны инициализировать значения точек. Переопределить для классов операции преобразования типов: декартовых координат в полярные и наоборот. Переопределить для класса PointXY операцию * как...
C++ Cоставить программу, которая содержит рекурсивную функ-цию Combin2(N, K) целого типа, находящую C(N, K) – число сочетаний из N эле-ментов по K помогите составить программу, которая содержит рекурсивную функ-цию Combin2(N, K) целого типа, находящую C(N, K) – число сочетаний из N эле-ментов по K – с помощью рекуррентного соотношения: C(N, 0) = C(N, N) = 1, C(N, K) = C(N – 1, K) + C(N – 1, K – 1) при 0 < K < N. Параметры функции – целые числа; N > 0, 0 <= K <= N. Считать, что пара-метр N не превосходит 20. Для уменьшения количества... http://www.cyberforum.ru/cpp-beginners/thread892298.html
C++ Как определить размер файла свыше 4Гб?
FILE *d,*d1; d=fopen("D:\\tr.txt","rb"); d1=fopen("D:\\trr.txt","wb+"); //нужно вывести размер в байтах d fseek(d, 0, SEEK_END); size = ftell(d); fseek(d, 0, SEEK_SET); и функция
Изменить алгоритм сортировки (вместо сортировки вставками поставить сортировку слиянием Merge) C++
#include "stdafx.h" #include "string.h" #include "iostream" #include <fstream> #include <string> #include <vector> #include <istream> #include "windows.h" using namespace std;
C++ Одномерные массивы. Вычислить m значений функции f(x) на отрезке [a, b] http://www.cyberforum.ru/cpp-beginners/thread892292.html
a.Вычислить m значений функции f(x) на отрезке . Вычисление величины f(x) с оформить в виде функции. Аргументы и значения функций сохранить в отдельных массивах. b.В массиве значений найти минимальный и максимальный элементы. c.Найти среднее значение элементов массива значений функции, и подсчитать количество элементов больших среднего значения. Функция f(x) 5.2 + 3x – tg(x)/2 a=0.5...
C++ Подсчёт слов в строке и вывод тех, которые встречаются более n раз Всем доброго времени суток. Прошу помощи в решении задачи. Собственно сама задача: Дано осмысленное текстовое сообщение(т.е. алфавитно-цифровая информация, разделённая пробелами и знаками препинания, в конце которого ставится точка.) Вывести только те слова сообщения, которые встречаются в нём более n раз. Проблема моя в том, что я не знаю как организовать пересчёт этих самых слов. и чтобы... подробнее

Показать сообщение отдельно
Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
11845 / 6824 / 771
Регистрация: 27.09.2012
Сообщений: 16,919
Записей в блоге: 2
Завершенные тесты: 1
06.06.2013, 11:50     Создать класс MyString
Как то так:
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 Посмотреть сообщение
Если пояснение напишит ктото другой отблагодарю также финансово)
В этом разделе помощь бесплатная
Платные услуги оказываются в другом разделе.
 
Текущее время: 20:37. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru