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

Проблема с классом и массивом char-ов - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Вылетает ошибка при запуске программы http://www.cyberforum.ru/cpp-beginners/thread15958.html
Написал несложную программу сложения матриц. Скомпилирывал все нормально, ошибок нема. Начинаюца проблемы когда жму "Выполнить" програма запускаеца, нече не успевает сделать как вылетает ошибка, типо "отправить отчет чи не" вот програма: #include <iostream.h> #include <conio.h> #include <math.h> #include <windows.h> int main(){ int n,m,i,j;
C++ Функции времени Подскажите можно ли, и каким способом вернуть из библиотечных функций чисто int значения min sec и hour чтоб присвоить их потом тем же переменным в своем созданом классе и если мона то каким способом. http://www.cyberforum.ru/cpp-beginners/thread15936.html
Классы-друзья (использование данных одного класса из другого) C++
Зарание спс ))) Я лаймер в С++ но учусь чтоб исправиться. И куда как не к вам обращаться за помощью =) в тяжкие дни свои. Проблема с классами, везде написано что для того чтоб мона было юзать данные одного класса из другого досточно просто сделать их друзьями, и тут не получается у меня. (Понимаю что элементарно но подскажите почему переменная (y) не видна из класса X) #include <iostream.h>...
Сортировка вставками C++
Помогите плиз немогу написать программу, незнаю с чего начать и что писать, может у кого что нить завалялось для этой темы, заранее спс Короче, надо разработать программу для реализации алгоритма сортировки выбором. Сортируемую последовательность необходимо генерировать из случайных чисел. Результат представить графически в виде двух наборов вертикальных линий: первый до - сортировки, второй...
C++ Заменить любую группу пробелов одним http://www.cyberforum.ru/cpp-beginners/thread15929.html
помогите пожалуйста с лабой. необходимо сжать строку , заменив любую группу пробелов одним пробелом.Исходную строку и результат вывести на экран. Подпрограмму обработки строки следует оформить в виде функции. Очень признателен за любую помощь(информацию:)).
C++ Как научиться программировать на языке С++; Аллен Р., Глассборо Ф. У кого нибудь есть "Как научиться программировать на языке С++; Аллен Р., Глассборо Ф." в электронном формате? подробнее

Показать сообщение отдельно
Nicl
0 / 0 / 0
Регистрация: 07.10.2008
Сообщений: 26

Проблема с классом и массивом char-ов - C++

14.11.2008, 18:52. Просмотров 1259. Ответов 9
Метки (Все метки)

Есть класс, содержащий одномерный массив из char-ов и методы для работы с ним. Проблема возникла в самом начале - не получается корректно изменить размер массива, а конкретно - удалить указатель перед сменой размера и во время запуска деструктора.

В .h:
C++
1
2
3
4
5
6
7
8
9
10
11
12
class CMyString
{
    int size;
    char* arr; //указатель на массив создается
public:
    CMyString(void);
    CMyString(int);
    ~CMyString(void);
    //CMyString operator+ (CMyString);
    //void input(char*);
    //void show(void);
};
В .cpp:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
CMyString::CMyString(void)
{
    delete[] arr;//удаляется заданный в .h указатель.
    char *arr= new char[16];//нет параметра  - размер 16
}
CMyString::CMyString(int size)
{
    delete[] arr;
    char *arr= new char[size];//есть параметр - размер size;
}
 
CMyString::~CMyString(void)
{
    delete[] arr; //деструктором удаляется указатель на массив. 
}
Вылетает при запуске с ошибкой.

Если же его не удалять, т.е. закомментировать все "delete[] arr" - проблема возникает на этапе заполнения массива.
C++
1
2
3
4
5
6
7
8
9
void CMyString::input(char* a)
{
 
    for (int i = 0; ; i++)
    {
    arr[i] = a[i];
    if (a[i] == '\0') break;
    }
}
Вылетает при запуске с ошибкой.

Помогите пожалуйста разобраться.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru