Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 20 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
20
Dung lượng
378,35 KB
Nội dung
LTHĐT Khoa CNTT Chương TOÁN TỬ GÁN (operator=) GV Nguyễn Sơn Hoàng Quốc ThS Nguyễn Tấn Trần Minh Khang CuuDuongThanCong.com Chương 06 - https://fb.com/tailieudientucntt LTHĐT Khoa CNTT MỤC TIÊU Hiểu phương thức toán tử gán gì? Hiểu vai trò tốn tử gán lập trình hướng đối tượng GV Nguyễn Sơn Hoàng Quốc ThS Nguyễn Tấn Trần Minh Khang CuuDuongThanCong.com Chương 06 - https://fb.com/tailieudientucntt LTHĐT Khoa CNTT KHÁI NIỆM Tốn tử gán lập trình C sử dụng để gán giá trị biến cho biến khác Mở rộng cho C++ ngôn ngữ lập trình hướng đối tượng khác ta nói sau: Toán tử gán sử dụng để gán thành phần liệu đối tượng cho đối tượng khác GV Nguyễn Sơn Hoàng Quốc ThS Nguyễn Tấn Trần Minh Khang CuuDuongThanCong.com Chương 06 - https://fb.com/tailieudientucntt LTHĐT Khoa CNTT ĐẶT VẤN ĐỀ Hãy khai báo định nghĩa phương thức cần thiết để câu lệnh sau thực Đoạn chương trình CHocSinh a,b; a.Nhap(); b=a; b.Xuat(); GV Nguyễn Sơn Hồng Quốc ThS Nguyễn Tấn Trần Minh Khang CuuDuongThanCong.com Chương 06 - https://fb.com/tailieudientucntt LTHĐT Khoa CNTT GIẢI QUYẾT VẤN ĐỀ Đoạn chương trình CHocSinh a,b; a.Nhap(); b=a; b.Xuat(); Để giải vấn đề ta phải khai báo định nghĩa phương thức toán tử gán cho lớp đối tượng CHocSinh GV Nguyễn Sơn Hoàng Quốc ThS Nguyễn Tấn Trần Minh Khang CuuDuongThanCong.com Chương 06 - https://fb.com/tailieudientucntt LTHĐT Khoa CNTT GIẢI QUYẾT VẤN ĐỀ Để giải vấn đề ta phải khai báo định nghĩa phương thức toán tử gán cho lớp đối tượng CHocSinh Khai báo lớp class CHocSinh { private: char hoten[31]; int toan; int van; float dtb; public: CHocSinh operator= (CHocSinh &); }; GV Nguyễn Sơn Hoàng Quốc ThS Nguyễn Tấn Trần Minh Khang CuuDuongThanCong.com Chương 06 - https://fb.com/tailieudientucntt LTHĐT Khoa CNTT GIẢI QUYẾT VẤN ĐỀ Để giải vấn đề ta phải khai báo định nghĩa phương thức toán tử gán cho lớp đối tượng CHocSinh Khai báo lớp class CHocSinh { private: char hoten[31]; int toan; int van; float dtb; public: CHocSinh operator= (CHocSinh &); }; GV Nguyễn Sơn Hoàng Quốc ThS Nguyễn Tấn Trần Minh Khang CuuDuongThanCong.com Chương 06 - https://fb.com/tailieudientucntt LTHĐT Khoa CNTT GIẢI QUYẾT VẤN ĐỀ Để giải vấn đề ta phải khai báo định nghĩa phương thức toán tử gán cho lớp đối tượng CHocSinh Khai báo lớp class CHocSinh { private: char hoten[31]; int toan; int van; float dtb; public: CHocSinh operator= (CHocSinh &); }; GV Nguyễn Sơn Hoàng Quốc ThS Nguyễn Tấn Trần Minh Khang CuuDuongThanCong.com Chương 06 - https://fb.com/tailieudientucntt LTHĐT Khoa CNTT GIẢI QUYẾT VẤN ĐỀ Để giải vấn đề ta phải khai báo định nghĩa phương thức toán tử gán cho lớp đối tượng CHocSinh Khai báo lớp class CHocSinh { private: char hoten[31]; int toan; int van; float dtb; public: CHocSinh operator= (CHocSinh &); }; GV Nguyễn Sơn Hoàng Quốc ThS Nguyễn Tấn Trần Minh Khang CuuDuongThanCong.com Chương 06 - https://fb.com/tailieudientucntt LTHĐT Khoa CNTT GIẢI QUYẾT VẤN ĐỀ Định nghĩa phương thức toán tử gán CHocSinh CHocSinh::operator= (CHocSinh&x) { strcpy(hoten,x.hoten); toan = x.toan; van = x.van; dtb = x.dtb; return *this; } GV Nguyễn Sơn Hoàng Quốc ThS Nguyễn Tấn Trần Minh Khang CuuDuongThanCong.com Chương 06 - 10 https://fb.com/tailieudientucntt LTHĐT Khoa CNTT CÁC GHI CHÚ QUAN TRỌNG Toán tử gán cài đặt bên lớp CHocSinh phương thức lớp Miền giá trị biến trỏ địa ô nhớ Miền giá trị trỏ đối tượng địa ô nhớ Bên thân phương thức, this trỏ đối tượng thuộc lớp mà phương thức thuộc GV Nguyễn Sơn Hồng Quốc ThS Nguyễn Tấn Trần Minh Khang CuuDuongThanCong.com Chương 06 - 11 https://fb.com/tailieudientucntt LTHĐT Khoa CNTT CÁC GHI CHÚ QUAN TRỌNG Bên thân phương thức, this trỏ đối tượng thuộc lớp mà phương thức thuộc Ví dụ 01: Bên thân phương thức nhap lớp CPhanSo, this trỏ đối tượng thuộc lớp CPhanSo Ví dụ 02: Bên thân phương thức xuất lớp CDiem, this trỏ đối tượng thuộc lớp CDiem Ví dụ 03: Bên thân phương thức operator = lớp CHocSinh, this trỏ đối tượng thuộc lớp CHocSinh GV Nguyễn Sơn Hoàng Quốc Chương 06 - 12 ThS Nguyễn Tấn Trần Minh Khang CuuDuongThanCong.com https://fb.com/tailieudientucntt LTHĐT Khoa CNTT CÁC GHI CHÚ QUAN TRỌNG Bên thân phương thức lớp, this trỏ đối tượng giữ địa đối tượng gọi thực phương thức Bên thân phương thức lớp, this trỏ đối tượng giữ địa đối tượng gọi thực phương thức Hơn *this đối tượng gọi thực phương thức GV Nguyễn Sơn Hoàng Quốc ThS Nguyễn Tấn Trần Minh Khang CuuDuongThanCong.com Chương 06 - 13 https://fb.com/tailieudientucntt LTHĐT Khoa CNTT HƯỚNG DẪN SỬ DỤNG CHocSinh CHocSinh::operator= (CHocSinh&x) { strcpy(hoten,x.hoten); toan = x.toan; van = x.van; dtb = x.dtb; return *this; } Hướng dẫn sử dụng 01: CHocSinh a,b; a.nhap(); b = a; Trong câu lệnh thứ đoạn chương trình ta nói: đối tượng b gọi thực phương thức toán tử gán với tham số đối tượng a GV Nguyễn Sơn Hoàng Quốc ThS Nguyễn Tấn Trần Minh Khang CuuDuongThanCong.com Chương 06 - 14 https://fb.com/tailieudientucntt LTHĐT Khoa CNTT HƯỚNG DẪN SỬ DỤNG Định nghĩa phương thức toán tử gán CHocSinh CHocSinh::operator= (CHocSinh&x) { strcpy(hoten,x.hoten); toan = x.toan; van = x.van; dtb = x.dtb; return *this; } GV Nguyễn Sơn Hoàng Quốc ThS Nguyễn Tấn Trần Minh Khang CuuDuongThanCong.com Chương 06 - 15 https://fb.com/tailieudientucntt LTHĐT Khoa CNTT HƯỚNG DẪN SỬ DỤNG CHocSinh CHocSinh::operator= (CHocSinh&x) { strcpy(hoten,x.hoten); toan = x.toan; van = x.van; dtb = x.dtb; return *this; } Hướng dẫn sử dụng 02: CHocSinh a,b,c,d,e; e.Nhap(); a = b = c = d = e; Trong câu lệnh thứ đoạn chương trình ta nói: nói khơng GV Nguyễn Sơn Hoàng Quốc ThS Nguyễn Tấn Trần Minh Khang CuuDuongThanCong.com Chương 06 - 16 https://fb.com/tailieudientucntt LTHĐT Khoa CNTT HƯỚNG DẪN SỬ DỤNG Định nghĩa phương thức toán tử gán CHocSinh CHocSinh::operator= (CHocSinh&x) { strcpy(hoten,x.hoten); toan = x.toan; van = x.van; dtb = x.dtb; return *this; } GV Nguyễn Sơn Hoàng Quốc ThS Nguyễn Tấn Trần Minh Khang CuuDuongThanCong.com Chương 06 - 17 https://fb.com/tailieudientucntt LTHĐT Khoa CNTT ỨNG DỤNG Hãy khai báo định nghĩa phương thức toán tử gán cho lớp đối tượng CHonSo Khai báo lớp class CHonSo { private: int nguyen; int tu; int mau; public: CHonSo operator=(CHonSo &); }; GV Nguyễn Sơn Hoàng Quốc ThS Nguyễn Tấn Trần Minh Khang CuuDuongThanCong.com Chương 06 - 18 https://fb.com/tailieudientucntt LTHĐT Khoa CNTT ỨNG DỤNG Định nghĩa phương thức toán tử gán CHonSo CHonSo::operator = (CHonSo &x) { nguyen = x.nguyen; tu = x.tu; mau = x.mau; return *this; } GV Nguyễn Sơn Hoàng Quốc ThS Nguyễn Tấn Trần Minh Khang CuuDuongThanCong.com Chương 06 - 19 https://fb.com/tailieudientucntt LTHĐT Khoa CNTT BÀI TẬP VỀ NHÀ Hãy khai báo định nghĩa phương thức toán tử gán cho lớp đối tượng sau: 10 11 12 Lớp phân số (CPhanSo) Lớp điểm (CDiem) Lớp ngày (CNgay) Lớp thời gian (CThoiGian) Lớp đơn thức (CDonThuc) Lớp điểm không gian (CDiemKhongGian) Lớp đường thẳng (CDuongThang) Lớp hỗn số (CHonSo) Lớp số phức (CSoPhuc) Lớp đường tròn (CDuongTron) Lớp lớp tam giác (CTamGiac) Lớp hình cầu (CHinhCau) GV Nguyễn Sơn Hoàng Quốc ThS Nguyễn Tấn Trần Minh Khang CuuDuongThanCong.com Chương 06 - 20 https://fb.com/tailieudientucntt ... Hiểu phương thức tốn tử gán gì? Hiểu vai trò tốn tử gán lập trình hướng đối tượng GV Nguyễn Sơn Hoàng Quốc ThS Nguyễn Tấn Trần Minh Khang CuuDuongThanCong.com Chương 06 - https://fb.com/tailieudientucntt... NIỆM Toán tử gán lập trình C sử dụng để gán giá trị biến cho biến khác Mở rộng cho C++ ngơn ngữ lập trình hướng đối tượng khác ta nói sau: Tốn tử gán sử dụng để gán thành phần liệu đối tượng. .. trị trỏ đối tượng địa ô nhớ Bên thân phương thức, this trỏ đối tượng thuộc lớp mà phương thức thuộc GV Nguyễn Sơn Hoàng Quốc ThS Nguyễn Tấn Trần Minh Khang CuuDuongThanCong.com Chương 06 - 11