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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Ahilles
0 / 0 / 0
Регистрация: 17.09.2009
Сообщений: 15
#1

Вопрос по деструктору - C++

18.10.2009, 18:12. Просмотров 603. Ответов 13
Метки нет (Все метки)

Есть вот такой конструктор
C++
1
2
3
4
5
6
7
TAffto::TAffto()
{
    this->color = "";
    this->year = 0;
    this->mark = "";
    this->blabla = "";
}
какой деструктор написать??
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.10.2009, 18:12
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Вопрос по деструктору (C++):

Вопрос по массивав, "институтский" вопрос. - C++
Готовлюсь к летней сессии по программированию. С++ Есть такая вот задачка (привожу как есть) В документации подобного не...

Вопрос по SetParent (поэтому, наверное, это вопрос к NickStaves) - Visual Basic
Есть набор форм, назовём их 'интерфейсными'. Есть отдельная форма, назовём её 'хранилищем'. Сама по себе она нигде не используется: лишь...

[ВОПРОС]: Меню и вопрос при регистрации - VBulletin
Помогите пожалуйста. У меня vbulletin 4.0.7 и после установки в верхнем меню есть лишняя навигация. Например: Главная Форум Blogs ...

Вопрос о картинках, вопрос о формулах - VBA
Всем доброго времени суток! Как обычно глупые вопросы... Вопрос первый, с сайта копируется информация (картинки + циферки ;-)) Так...

Вопрос - Assembler
#include <iostream> using namespace std; int main() { int p = {1,6,7,90}; int a; _asm { LEA EBX,p MOV ECX,DWORD...

Вопрос - Visual C++
объясните пожалуйста следующий "процесс" (не обладаю пока терминологией). в частности меня именно интересует как задавать сам номер. см....

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
valeriikozlov
Эксперт C++
4670 / 2496 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
18.10.2009, 18:25 #2
А Вам зачем он нужен?
0
Ahilles
0 / 0 / 0
Регистрация: 17.09.2009
Сообщений: 15
18.10.2009, 18:35  [ТС] #3
задание по лабе... должен быть и всё
0
valeriikozlov
Эксперт C++
4670 / 2496 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
18.10.2009, 18:41 #4
Напишите так:
C++
1
2
TAffto::~TAffto()
{}
0
HIMen
4136 / 1385 / 39
Регистрация: 12.04.2009
Сообщений: 2,346
18.10.2009, 18:44 #5
Ahilles, деструктор нужен если выделяешь память в конструктре динамически
0
Search..
Заказ софта
340 / 185 / 10
Регистрация: 26.05.2009
Сообщений: 863
18.10.2009, 18:46 #6
C++
1
2
3
4
5
6
7
8
9
class TAffto
{
public:
    TAffto(): color("\0"), year(0), mark("\0"), blabla("\0") {}
    ~TAffto() {}
private:
    short year;
    char *color, *mark, *blabla;
};
0
Ahilles
0 / 0 / 0
Регистрация: 17.09.2009
Сообщений: 15
18.10.2009, 18:52  [ТС] #7
Цитата Сообщение от valeriikozlov Посмотреть сообщение
Напишите так:
C++
1
2
TAffto::~TAffto()
{}
т.е. деструктор по умолчанию?
0
valeriikozlov
Эксперт C++
4670 / 2496 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
18.10.2009, 18:56 #8
Ну да. Как написал HIMen, если у Вас в конструкторе память не выделялась динамически, то именно так и пишите.
0
CheshireCat
Эксперт С++
2892 / 1241 / 78
Регистрация: 27.05.2008
Сообщений: 3,370
18.10.2009, 19:06 #9
Search.., а вот это-то зачем: color("\0") ? Почему не достаточно color("") ?
0
Ahilles
0 / 0 / 0
Регистрация: 17.09.2009
Сообщений: 15
18.10.2009, 19:07  [ТС] #10
выдает ошибку в классе
C++
1
2
3
4
public:
        TAffto();
        Taffto(AnsiString color, int year, AnsiString mark, AnsiString blabla);
                ~Taffto();
~Taffto();
вот это ему не нравится
0
Monte-Cristo
2789 / 1375 / 30
Регистрация: 07.03.2009
Сообщений: 4,446
18.10.2009, 19:07 #11
Search.., ты должен был в конструкторе память выделить под указатели: char *color, *mark, *blabla;

Ahilles, деструктор выполняется при разрушении объекта. Как правило в нем чистят выделенную память, как написали уже выше. Но можете написать в нем вывод сообщения, что объект уничтожен, если вам по лабе нужно.
0
valeriikozlov
Эксперт C++
4670 / 2496 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
18.10.2009, 19:09 #12
~Taffto(); переделай на ~TAffto();
0
Search..
Заказ софта
340 / 185 / 10
Регистрация: 26.05.2009
Сообщений: 863
18.10.2009, 19:10 #13
Цитата Сообщение от Monte-Cristo Посмотреть сообщение
Search.., ты должен был в конструкторе память выделить под указатели: char *color, *mark, *blabla;
Ничего себе, буду знать
0
Ahilles
0 / 0 / 0
Регистрация: 17.09.2009
Сообщений: 15
18.10.2009, 19:17  [ТС] #14
Цитата Сообщение от valeriikozlov Посмотреть сообщение
~Taffto(); переделай на ~TAffto();
уже осознал)))
спасибо))
извиняюсь за невнимательность
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.10.2009, 19:17
Привет! Вот еще темы с ответами:

Вопрос - Turbo Pascal
Как найти темы с основными понятиями Паскаля, вроде обсуждений и т.п. ?

Вопрос по Try Except - Delphi
Хочу перехватывать ошибки конвертации строки в число, но все равно выбивает ошибку при конвертации(например, в Edit ввожу ';'), что я не...

вопрос - Сетевое оборудование
основной пользовательской характеристикой модемов является ...

Вопрос - C++
стоит ли учить язык програмирования С++? говорят язык отличный. И чем он хуже Делфи,Паскаля,Асемблер,ЛУА(ЛОА непомню правильности) , ПХП,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
18.10.2009, 19:17
Ответ Создать тему
Опции темы

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