Professional Documents
Culture Documents
Toán T Gán
Toán T Gán
Ton t gn
Bi:
Phm Vn t
Ton t gn mc nh
Ton t gn (cho lp) l mt trng hp c bit so vi cc ton t khc. Nu trong lp
cha nh ngha mt phng thc ton t gn th trnh bin dch s pht sinh mt ton
t gn mc nh thc hin cu lnh gn 2 i tng ca lp, v du:
Ht h1, h2(100,6); H1 = h2 ; // gn h2 cho h1
Ton t gn mc nh s s sao chp i tng ngun (h2) vo i tng ch (h1) theo
tng bit mt.
Trong a s cc trng hp khi lp khng c cc thnh phn con tr hay tham chiu th
ton t gn mc nh l dng v khng cn nh ngha mt phng thc ton t gn
cho lp. Nhng i vi cc lp c thuc tnh con tr nh lp dt (a thc), lp ht (hnh
trn) th ton t gn mc nh khng thch hp v vic xy dng ton t gn l cn thit.
Ton t gn
2/4
Ton t gn
V d minh ho
Chng trnh di y nh ngha lp ht (hnh trn) v minh ho:
+ Hm to v hm hu
+ Phng thc ton t gn c kiu tham chiu
+ Hm to sao chp
+ Cch dng con tr this trong hm to sao chp
+ Cch dng con tr _new_handler kim tra vic cp pht b nh.
//ct4_10.cpp // lop do hoa // ham huy // toan tu gan - tra
ve tham chieu // ham tao sao chep // trong ham huy co the
goi pt khac #include <conio.h> #include <iostream.h>
#include <stdlib.h> #include <graphics.h> #include <new.h>
#include <mem.h> Static void kiem_tra_bo_nho() ; Void
ktdh(); int xmax,ymax; Void kiem_tra_bo_nho() {
Outtextxy(1,1,"loi bo nho"); Getch(); Closegraph();
Exit(1); } Class ht { Private: Int r,m ; Int xhien,yhien;
Char *pht; Int hienmh; Public: Ht(); Ht(int r1,int m1=15);
Ht(const ht &h); ~ht(); Void hien(int x, int y); Void
an(); Const ht &operator=(const ht &h); }; Const ht &
ht::operator=(const ht &h) { // outtextxy(1,1,"gan");
getch(); R = h.r ; m = h.m ; Xhien = yhien = 0; Hienmh = 0
; If (h.pht==null) Pht = null; Else { Int size; Size =
3/4
Ton t gn
4/4