Chương 7. Lớp và đối tượng
int xmax, ymax;
class HT
{
private:
int r, m ;
int xhien, yhien;
char *pht;
int hienmh;
public:
HT();
HT(int n, int m1 = 15);
~HT();
void hien(int x, int y);
void an();
};
HT:: HT()
{
r = m = hienmh = 0;
xhien = yhien = 0;
pht = NULL;
}
HT::HT(int n, int m1)
{
r = n; m = m1; hienmh = 0;
xhien = yhien = 0;
if (r<0) r = 0;
if (r = = 0) pht = NULL;
else
void HT::an()
{
if (hienmh) // Dang hien
{
hienmh = 0;
putimage(xhien, yhien, pht, XOR_PUT);
}
}
HT::~HT()
{
an();
250
Chương 7. Lớp và đối tượng
if (pht! = NULL)
{
delete pht;
pht = NULL;
}
}
void ktdh()
{
int mh = 0, mode = 0;
initgraph(&mh, &mode, " ");
xmax = getmaxx();
ymax = getmaxy();
}
h.hien(340, 340);
u.hien(380, 340);
for (int x = 340; x> = 0; x- = 10)
{
h.an();
u.an();
u.hien(x, x);
delay(200);
u.hien(x+40, x);
delay(200);
}
};
void main()
{
ktdh();
ve_bau_troi();
ht_di_dong_xuong();
ht_di_dong_len();
getch();
closegraph();
}
Các nhận xét:
+ Trong thân hàm hủy gọi tới phương thức an().
+ Điều gì xẩy ra khi bỏ đi hàm hủy:
• Khi gọi hàm ht_di_dong_xuong() thì có 2 đối tượng kiểu HT được tạo ra.
Trong thân hàm sử dụng các đối tượng này để vẽ các hình tròn di
252
Chương 7. Lớp và đối tượng
inline float f(int n, float x);
float f(int n, float x)
{
// Các câu lệnh trong thân hàm
}
253