Danh mục tài liệu

Bài giảng Kỹ thuật lập trình: Chương 5 - Trần Quang Hải Bằng

Số trang: 5      Loại file: pdf      Dung lượng: 142.00 KB      Lượt xem: 18      Lượt tải: 0    
Xem trước 2 trang đầu tiên của tài liệu này:

Thông tin tài liệu:

Bài giảng "Kỹ thuật lập trình - Chương 5: Hàm xây dựng, hàm hủy và việc khởi tạo các đối tượng" cung cấp cho người học các kiến thức: Hàm xây dựng, hàm hủy, hàm xây dựng sao chép, thuộc tính của một lớp là đối tượng. Mời các bạn cùng tham khảo nội dung chi tiết.
Nội dung trích xuất từ tài liệu:
Bài giảng Kỹ thuật lập trình: Chương 5 - Trần Quang Hải Bằng Nội dung Chương 5 • Hàm xây dựng • Hàm hủy HÀM XÂY DỰNG, HÀM HỦY VÀ • Hàm xây dựng sao chép VIỆC KHỞI TẠO ðỐI TƯỢNG • Thuộc tính của 1 lớp là ñối tượng 1 2Hàm xây dựng Hàm xây dựng• Mục ñích: khởi tạo giá trị ban ñầu cho ñối tượng • Ví dụ: – Gán giá trị ñầu cho các thuộc tính. class SinhVien { class Stack { char mssv[8]; float *ds; – Cấp vùng nhớ cho con trỏ thành viên. char* hoten; int soluong; int namsinh; int vitri; float diemtb; public: class Diem { class PhanSo { public: Cấp vùng nhớ Stack(int max = 10) int x, y; int tu, mau; SinhVien() { cho con trỏ { public: public: strcpy(mssv,””); soluong = max; Diem(int a) PhanSo() hoten = new char[50]; vitri = 0; { x = y = a; } { tu=0; mau=1; } namsinh = 1980; ds = new Diem(int h, int t) PhanSo(int x) diemtb = 0; float[soluong]; { x = h; y=t; } { tu=x; mau=1; } } } …. PhanSo(int t, int m) SinhVien(char*,char*,int,fl Stack(float* d, int m, }; { tu = t; mau=m; } oat); int n); …. … … }; }; }; 3 4Hàm xây dựng Hàm xây dựng• Nếu không có ñịnh nghĩa hàm xây dựng: • Nếu có ñịnh nghĩa ít nhất 1 hàm xây dựng: – Mặc nhiên sẽ tự ñộng có 1 hàm xây dựng không tham số. – Có bao nhiêu hàm xây dựng sẽ có bấy nhiêu cách khởi tạo – Chỉ có 1 cách khởi tạo ñối tượng theo dạng không tham số. ñối tượng theo dạng ñã ñịnh nghĩa.class Diem { void main() { int x, y; Diem a; void main() { void main() { public: Diem *pa = new Diem(); PhanSo a; Stack a; void InDiem(); Diem ds1[10]; PhanSo b(3); Stack b(5); void NhapDiem(); Diem *ds2 = new PhanSo c(2,5); Stack c[5]; void GanGiaTri(int, Diem[20]; PhanSo d[3]; Stack *pa = new Stack();int); … PhanSo *pa = new PhanSo; Stack *pb = new Stack(40); int GiaTriX(); } PhanSo *pa1 = new PhanSo(); Stack *pc = new Stack[40]; int GiaTriY(); PhanSo *pa2 = new PhanSo[5]; float data[40]; … 1000H PhanSo *pb = new PhanSo(3); for(int i=0;i delete con trỏ.• Trình tự thực hiện: – ðối tượng ñược tạo ra trước. class SinhVien { class Stack { – Hàm xây dựng sẽ gọi sau t ...