Biểu thị thành phần của phần tử mảng

Một phần của tài liệu Kỹ thuật lập trình - chương 4 ppt (Trang 35 - 36)

Để biểu thị thuộc tính của phần tử mảng đối tượng, ta viết như sau:

Tên_mảng[chỉ số] . Tên_thuộc_tính

Để thực hiện phương thức đối với phần tử mảng ta viết như sau: Tên_mảng[chỉ số] . Tên_phương_thức(danh sách tham số) ;

Ví dụ để vẽ đoạn thẳng nối điểm d[1] với d[2] theo mầu đỏ, ta có thể dùng phương thức ve_doan_thang như sau:

d[1].ve_doan_thang(d[2], 4);// Thực hiện phương thức đối với d[1]

10.4. Ví dụ

Chương trình dưới đây đưa vào lớp TS (thí sinh) và xét bài toán: Nhập một danh sách thí sinh, sắp xếp danh sách theo thứ tự giảm của tổng điểm. Chương trình minh hoạ:

+ Cách dùng mảng đối tượng.

+ Vai trò con trỏ this (trong phương thức hv(hoán vị)) . + Các hàm tạo, hàm huỷ.

+ Vai trò của toán tử gán (nếu sử dụng phép gán mặc định chương trình sẽ cho kết quả sai).

//CT4_15.CPP // mang doi tuong // Lop TS (thi sinh)

// Chu y vai tro cua toan tu gan #include <conio.h> #include <iostream.h> #include <string.h> class TS { private: char *ht; double td; public: TS() { ht = new char[20]; td = 0; } ~TS() { delete ht; }

const TS &operator=(const TS &ts2) {

this->td = ts2.td; strcpy(this->ht,ts2.ht); return ts2;

}

void nhap(int i); void in(); double gettd()

{

return td; } void hv(TS &ts2) { TS tg; tg = *this ; *this = ts2 ; ts2 = tg; } } ; void TS::in() {

cout << "\nHo ten: " << ht << " Tong diem: " << td; }

void TS::nhap(int i) {

cout << "\nNhap thi sinh " << i ; cout << "\nHo ten: " ; cin >> ht; cout << "Tong diem: " ; cin >> td; } void main() { TS ts[100]; int n, i, j; clrscr();

cout << "\n So thi sinh: " ; cin >> n;

for (i=1; i<= n; ++i)

ts[i].nhap(i);

cout <<"\n Danh sach nhap vao:"; for (i=1; i<= n; ++i)

ts[i].in();

for (i=1; i<n ; ++i) for (j=i+1 ; j<=n; ++j)

if (ts[i].gettd() < ts[j].gettd()) ts[i].hv(ts[j]);

cout <<"\n\n Danh sach sau khi sap xep:"; for (i=1; i<= n; ++i)

ts[i].in(); getch(); }

§ 11. CẤP PHÁT BỘ NHỚ CHO ĐỐI TƯỢNG

Một phần của tài liệu Kỹ thuật lập trình - chương 4 ppt (Trang 35 - 36)

Tải bản đầy đủ (DOC)

(45 trang)
w