tailieunhanh - Bài giảng Lập trình hướng đối tượng và C++: Chương 5
Bài giảng Lập trình hướng đối tượng và C++: Chương 5 Hàm xây dựng, hàm hủy và việc khởi tạo đối tượng trình bày các nội dung sau: 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 1 lớp là đối tượng,. | N i dung • Hàm xây d ng Chương 5 HÀM XÂY D NG, HÀM H Y VÀ VI C KH I T O ð I TƯ NG • Hàm h y • Hàm xây d ng sao chép • Thu c tính c a 1 l p là ñ i tư ng 1 2 Hà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. – C p vùng nh cho con tr thành viên. class Diem { int x, y; public: Diem(int a) { x = y = a; } Diem(int h, int t) { x = h; y=t; } . }; class PhanSo { int tu, mau; public: PhanSo() { tu=0; mau=1; } PhanSo(int x) { tu=x; mau=1; } PhanSo(int t, int m) { tu = t; mau=m; } . }; 3 class SinhVien { class Stack { char mssv[8]; float *ds; char* hoten; int soluong; int namsinh; int vitri; float diemtb; public: public: Stack(int max = 10) C p vùng nh SinhVien() { { cho con tr strcpy(mssv,””); soluong = max; hoten = new char[50]; vitri = 0; namsinh = 1980; ds = new float[soluong]; diemtb = 0; } } SinhVien(char*,char*,int,fl Stack(float* d, int m, int n); oat); }; }; 4 Hà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 . – Ch có 1 cách kh i t o ñ i tư ng theo d ng không tham s . class Diem { int x, y; public: void InDiem(); void NhapDiem(); void GanGiaTri(int, int); int GiaTriX(); int GiaTriY(); }; // ð nh nghĩa các hàm thành viên . void main() { Diem a; Diem *pa = new Diem(); Diem ds1[10]; Diem *ds2 = new Diem[20]; } x y a 1000H Không có giá tr ñ u nên d gây ra hi u ng ph 5 Hàm xây d ng – Hàm xây d ng s g i sau trên ñ i tư ng. tu mau PhanSo c(2,5); tu 1000 mau *pa2 2 5 c 1000H tu 0 0 0 0 0 1000 mau 1 1 1 1 1 *pa2 tu mau c 1000H 1200H Stack b(5); *ds soluong vitri void main() { void main() { PhanSo a; Stack a; PhanSo b(3); Stack b(5); PhanSo c(2,5); Stack c[5]; PhanSo d[3]; Stack *pa = new Stack(); PhanSo *pa = new PhanSo; Stack *pb = new Stack(40); PhanSo *pa1 = new PhanSo(); Stack *pc = new Stack[40]; PhanSo *pa2 = new PhanSo[5]; float .
đang nạp các trang xem trước