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

Исправить код конструктора и деструктора - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Напишите пожалуйста чайнику проги http://www.cyberforum.ru/cpp-beginners/thread1175978.html
1-В группе из N человек решено собрать S рублей на проведение праздника. Определить какую сумму должен сдать каждый 2-Пересекающиеся прямые заданы коэффициентами своих уравнений. Определить взаимное расположение прямых( пересекаются, не пересекаются, совпадают). Если прямые пересекаются, то определить координату точки их пересечения. 3-С устройства ввода последовательно поступают целые числа....
C++ Хеширование, вывести номер стэка (bucket) с максимальным значением Короче, вот код: //Хеширование #include <iostream> #include <fstream> #include <iomanip> using namespace std; struct Node { http://www.cyberforum.ru/cpp-beginners/thread1175973.html
C++ Вывести самолет, который вылетает позже всего
#include <cstdlib> #include <iostream> #include <conio.h> #include <string.h> #include <iomanip> #include <fstream> using namespace std; const int len_dest = 18;
C++ Заполнить двумерный массив размером 10 на 10 целыми числами по возрастанию
требуется написать программу, заполняющую двухмерный массив размерностью 10 на 10 целыми числами по возрастанию. (помогите плиз не могу отсортировать, именно, двумерный массив.)
C++ Двоичные файлы http://www.cyberforum.ru/cpp-beginners/thread1175957.html
Помогите пожалуйста, а то никак сообразить не могу. Нужно создать двоичный файл и записать в него n целых чисел. Создать массив из исходного файла, записав в него числа, расположенные в файле между минимальным и максимальным элементами.
C++ Записи: анкетные данные учеников Составить программу, выводящую на экран анкетные данные учеников (Ф. И. О., год рождения, адрес, сведения о родителях). Распечатать данные об учениках, родившихся ранее заданного года. сделала по примеру после запроса на год начинаются ошибки не дает дальше ничего водить( #include <iostream> #include <fstream> #include <cstdlib> using namespace std; struct krolik {char name; double... подробнее

Показать сообщение отдельно
cHuVbaka
0 / 0 / 0
Регистрация: 09.11.2013
Сообщений: 120
14.05.2014, 19:04     Исправить код конструктора и деструктора
Что-то не так с конструктором, так нельзя обнулять?
нужно найти ошибку в деструкторе...
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
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
#include <iostream>
using namespace std;
 
class Book
{
    char* _surname; // фамилия автора
char* _name; // имя автора
char* _patronymic; // отчество автора
int _year; // год издательства
char* _book; // название книги
int _count; // количество страниц
public:
 
    Book(char* surname, char* name, char* patronymic)
        :_count(0), _year(0), _surname(NULL), _name(NULL), _patronymic(NULL), _book(NULL)
    {
        SetSurname(surname);
SetName(name);
SetPatronymic(patronymic);
cout <<"Вызов конструктора!!!"<<endl;
    }
 
    ~Book(void)
    {
        if(_surname != NULL)
            delete[] _surname;
 
        if(_name != NULL)
            delete[] _name;
 
        if(_patronymic != NULL)
            delete[] _patronymic;
 
        if(_book != NULL)
            delete[] _book;
        cout <<"Вызов деструктора!!!"<<endl;
    }
 
    void SetSurname(char* surname) 
    {
        cout <<"Метод SetSurname - ";
 
        if(_surname != NULL) 
        {
            cout <<"Старая запись: " << _surname << " ";
 
            delete[] _surname; 
        }
 
        _surname = _strdup(surname); // выдиляем и копируем новое значение
 
        cout <<"Новая запись: " << _surname<<endl;
    }
 
    void SetName(char* name)
    {
        cout <<"Метод SetName - ";
 
        if(_name != NULL)
        {
            cout <<"Старая запись: " << _name << " ";
 
            delete[] _name;
        }
 
        _name = _strdup(name);
 
        cout <<"Новая запись: " << _name<<endl;
    }
    void SetPatronymic(char* patronymic)
    {
        cout <<"Метод SetPatronymic - ";
 
        if(_patronymic != NULL)
        {
            cout <<"Старая запись: " << _patronymic << " ";
 
            delete[] _patronymic;
        }
 
        _patronymic = _strdup(patronymic);
 
        cout <<"Новая запись: " << _patronymic<<endl;
    }
 
    void SetBook(char* book)
    {
        cout <<"Метод SetBook - ";
 
        if(_book != NULL)
        {
            cout <<"Старая запись: " << _book << " ";
 
            delete[] _book;
        }
 
        _book = _strdup(book);
 
        cout <<"Новая запись: " << _book;
    }
 
    void SetYear(int year)
    {
        _year = year;
    }
 
    void SetCount(int count)
    {
        _count = count;
    }
 
    const char* GetSurname()const
    {
        return _surname;
    }
 
    const char* GetName()const
    {
        return _name;
    }
 
    const char* GetPatronymic()const
    {
        return _patronymic;
    }
 
    const char* GetPost()const
    {
        return _book;
    }
 
    const int GetYear()const
    {
        return _year;
    }
 
    const int GetCount()const
    {
        return _count;
    }
};
 
int main()
{
    setlocale(LC_ALL, "RUS"); // рус язык
Book* book = new Book("Syrname", "Name", "Patronymic");
book->SetYear(1980);
book->SetCount(3000);
cout << book->GetSurname() << " " << book->GetName() <<endl;
delete book;
    system("PAUSE");
    return 0;
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 03:36. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru