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

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

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

Деструктор - C++

15.04.2013, 19:50. Просмотров 416. Ответов 2
Метки нет (Все метки)

В чем проблема?)
Деструктор
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.04.2013, 19:50     Деструктор
Посмотрите здесь:

Деструктор - C++
#include <iostream> #include <conio.h> #define _CRTDBG_MAP_ALLOC #include <crtdbg.h> using namespace std; class list{ ...

Деструктор - C++
Добрый вечер!мне нужна одна программа для примера(рабочая),но это тему мы коснулись слегка..хотел попросить у кого есть...

Деструктор - C++
Вроде все просто но чето никак не работает Задача: Написать программу в которой Конструктор класса MyCl выводит сообщение на...

Деструктор - C++
Ребята, объясните, пожалуйста, где, как и когда в программе вызывается деструктор? Вот мой пример: #include <iostream> using namespace...

Деструктор - C++
здравствуйте. подскажите пожалуйста ... почему деструктор некорректно работает ? не хочет уничтожает объекты динамического массива (...

деструктор - C++
Для освобождения памяти динамически выделенных массивам надо использовать delete. требуется ли освобождать память выделенную под простой...

Деструктор - C++
Доброго времени суток, есть некоторый класс и 2 функции подобны тем, что описаны ниже. В первой объявляется данный класс, обрабатывается и...

Деструктор - C++
В каком случае необходимо явно определять деструктор?

Деструктор! - C++
Как вызвать деструктор? #include <iostream> #include <conio.h> #include <iostream> #include <iomanip> #include <string> using...

деструктор - C++
опять же проблема с лабой. помоги дописать деструктор. #include "stdafx.h" #include <string> #include <iostream> using...

Деструктор - C++
Не понимаю почему в проге не работает строка cout << "Удаляем элемент списка!"; вроде деструктор вызываеться автоматически, как пишет...

Деструктор - C++
Я написал деструктор, но препод сказал переделать так как надо было смотреть на то, как я выделял память. Помогите исправить. int **m6; ...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
abit
260 / 259 / 33
Регистрация: 03.02.2013
Сообщений: 709
15.04.2013, 19:58     Деструктор #2
class DeWin, а деструктор называется ~MyWin()? это новое слово в C++

кроме того вообще очень плохая идея пихать конструкторы и деструктор в секцию protected, хотя тут смотря для чего класс нужен, если только для наследования - то пойдёт
Rezzonans
0 / 0 / 0
Регистрация: 15.04.2013
Сообщений: 8
15.04.2013, 20:24  [ТС]     Деструктор #3
abit, спасибо большое,поправил,но еще куча непонятных ошибок=)
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
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
#include <owl\framewin.h>
 
#include <owl\dialog.h>
 
#include <owl\edit.h>
 
#include <owl\scroller.h>
 
#include <owl\validate.h>
 
#include <stdlib.h>
 
#include <owl\opensave.h>
 
 
#include "bmp.rh"
 
 
float kof;
 
class Myclass: public TApplication
 
{
 
public:
 
virtual void InitMainWindow();
 
};
class DeWin: public TFrameWindow
 
{
 
protected:
int N;
 
TBitmap * Pic;
 
TBitmap * M;
 
TDib* dib;
 public:
 
DeWin (TWindow*parent, const char far*title);
 protected:
 
~DeWin();
 
void About();
 
void ImFile();
 
void Clr();
 
bool CanClose();
 
void Paint (TDC&,bool,TRect&);
 
DECLARE_RESPONSE_TABLE(DeWin);
 
};
 
bool DeWin::CanClose()
 
{int res =MessageBox("Zakrit Prilozhenie?","",
 MB_ICONQUESTION | MB_YESNO);
 if(res == IDYES) return true;
  else return false;
  }
DEFINE_RESPONSE_TABLE1(DeWin,TFrame Window);
EV_COMMAND(100,About),
EV_COMMAND(201,ImFile),
EV_COMMAND(202,ImRw),
EV_COMMAND(203,Clr),
END_RESPONSE_TABLE;
}
DeWin::DeWin(TWindow*parent, const char far*title):
TFrameWindow(parent,title)
{
AssignMenu("MENU_l");
SetBkgndColor(COLOR_WINDOWFRAME+1);
Attr.X=0;
Attr.Y=0;
Attr.Style|=WS_VSCROLL|WS_HSCROLL;
Scroller=new TScroller (this, 10,10,200,400);
Attr.AccelTable = "MENU_1";
Pic=new TBitmap(*GetModule(),IDB_BITMAP 1);
N = 0;
kof=l;
}
DeWin::~DeWin()
{
delete Pic;
}
void DeWin::GetWindowClass(WNDCLASS&wc)
{TWindow::GetWindowClass(wc);
wc.style=CS_VREDRAW|CS_HREDRAW ;
}
void DeWin::About()
{
MessageBox (" Programma prosmotorchik failov.bmp "
 " \n Razrabotanna studentom gruppy  "
" \n Vasye Vasye"
,"0 programme",
MB_ICONINFORMATION| MB_OK);
}
void DeWin::ImRw()
{
N=2 ;
Invalidate();
}
void DeWin::ImFile()
{N=0;
Invalidate();
TOpenSaveDialog::TData fileData
(OFN_FILEMUSTEXIST|OFN_PATHMUSTEXIST|OFN_HIDEREADONLY,//|
OFN_OVERWRITEPROMPT,
"Bitmap Files (*.BMP)|*.bmp|", 0, "", "BMP");
TFileOpenDialog *dialog= new TFileOpenDialog(this,fileData);
int res=dialog->Execute();
if (res==IDOK)
{try
{dib = new TDib(fileData.FileName);}
catch(TGdiObject::TXGdi&)
{MessageBox("Invalid Bitmap File", GetApplication()->GetName(), MB_OK);
 }
N=1;
Invalidate();
}
else
delete dialog;
};
void DeWin::Clr()
{
N=0;
Invalidate();
}
void DeWin::Paint (TDC&dc,bool,TRect&)
{
if(N==2)
{
TMemoryDC memDC(dc);
memDC.SelectObject(*Pic);
(dc).StretchBlt(0,0,kof*(Pic->Width()),kof*(Pic->Height()),memDC,0,0,
(Pic->Width()),(Pic->Height()),SRCCOPY);
}
if(N==1)
{
TMemoryDC*memDC =new TMemoryDC(dc);
M=new TBitmap(dc,*dib,0);
memDC->SetDIBits(*M,*dib);
memDC->SelectObject(*M);
(dc).StretchBlt( 0,0,kof*(M->Width()),kofi:(M->HeightO),*memDC,0,0,M->
Width(),M->Height(),SRCCOPY);
 delete memDC;
}
}
void Myclass::InitMainWindow()
{
TFrameWindow *wndw=new MyWin(0,"Risunki");
SetMainWindow(wndw);
wndw->SetIcon(this,IDI_ICON 1);
wndw->SetIconSm(this,IDI_ICON 1);
wndw->SetCursor(this,IDC_CURSOR1);
}
int OwlMain(int,char*[])
{
return Myclass().Run();
}
Ответ Создать тему
Опции темы

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