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

Ошибка в конструкторе класса - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Дана точка на плоскости с координатами (х, у). Составить программу, которая выдает одно из сообщений "Да", "Нет", "На http://www.cyberforum.ru/cpp-beginners/thread1162604.html
C++ Все целые числа из диапазона от А до В (А В), оканчивающиеся на любую четную цифру Вывести на экран: Замечание. Решите каждую задачу тремя способами - используя операторы цикла while, do while и for. http://www.cyberforum.ru/cpp-beginners/thread1162598.html
C++ Error C2065: 'strcpy' : undeclared identifier
class String { protected: char *PointerToString; // Указатель на строку int StringSize; // Длина строки public: String ( char * ); // Конструктор ~String ( ); // Деструктор void Print( );...
C++ Пошаговый алгоритм выполнения программы
Составьте пожалуйста пошаговый алгоритм выполнения( тема : Перегрузка операций - тут бинарное сложение) #include <iostream> using namespace std;...
C++ Найти номер первого максимального элемента http://www.cyberforum.ru/cpp-beginners/thread1162587.html
Найти номер первого максимального элемента.
C++ Бред при декомпиляции Всем привет!У меня такая проблема, при дэкомпиляции у меня получается всякий бред типо jddvb:56/df;v:j/:u19vghj незнаю что делать и из за чего это происходит?Всем спасибо! подробнее

Показать сообщение отдельно
Ilot
Модератор
Эксперт С++
1811 / 1168 / 229
Регистрация: 16.05.2013
Сообщений: 3,082
Записей в блоге: 5
Завершенные тесты: 1
30.04.2014, 15:17
C++
1
2
3
4
Cow::Cow()
 
{
    char name[20] = {"Burenka"};
Вот здесь объявляется переменная скрывающая поле класса и как следствие в name будет храниться мусор.

Добавлено через 2 минуты
Цитата Сообщение от alsav22 Посмотреть сообщение
Это компилируется?
У автора:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Cow::Cow(const Cow &other)
{
    
    strcpy(name, other.name); 
        
    hobby = new char[strlen(other.hobby)+1];         
    strcpy(hobby, other.hobby);
        
    weight = other.weight;
    
    //для отладки
    cout<<"Cow() :"<<'('<<name<<','<<hobby<<','<<weight<<')'<<endl;
 
}


Добавлено через 1 минуту
Цитата Сообщение от d01 Посмотреть сообщение
Ну и вот.. еще один момент, который я пока не могу понять, почему когда я добавляю delete[] hobby; в деструктор, программа виснет.. Вроде все правильно делаю, освобождаю память, выделенную в конструкторе.. В общем, буду признателен, за указание на ошибки, может еще, что делаю не совсем так. Заранее спасибо.
Проблема скорее всего в том, что вы не выделяете память динамически в конструкторе по умолчанию.
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru