intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

Bài 11 Giới thiệu về lớp (class )

Chia sẻ: Nguyễn Thị Phương Phương | Ngày: | Loại File: PDF | Số trang:29

76
lượt xem
7
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Class là cơ sở của C++ cho lập trình hướng đối tượng. Class là đơn vị đóng gói cơ bản, nó cung cấp cơ chế để tạo đối tượng. Class định nghĩa một kiểu dữ liệu mới đặc tả một đối tượng. Class bao gồm data và code thực thi data đó, vì vậy class liên kết data với code.

Chủ đề:
Lưu

Nội dung Text: Bài 11 Giới thiệu về lớp (class )

  1. Bài 11 Giới thiệu về lớp (class ) Ngôn ng C++ 1
  2. Căn bản về class • Class là cơ s c a C++ cho l p trình hư ng i tư ng. • Class là ơn v óng gói cơ b n, nó cung c p cơ ch t o i tư ng. • Class nh nghĩa m t ki u d li u m i ct m t i tư ng. Class bao g m data và code th c thi data ó, vì v y class liên k t data v i code. • i tư ng là m t hi n h u c a class. • Class là khái ni m tr u tư ng mang tính lu n lý còn i tư ng là bi u di n v t lý c a class. Ngôn ng C++ 2
  3. • Data ư c ch a trong các bi n còn code ư c chưa trong các hàm. • Các hàm và bi n trong class ư c g i là thành viên c a class, do ó m t bi n ư c khai báo trong class ư c g i là bi n thành viên, tương t hàm ư c g i là hàm thành viên. • ôi khi cũng dùng khái ni m bi n hi n h u Ngôn ng C++ 3
  4. Dạng tổng quát của class class tên { private bi n và hàm public: bi n và hàm } danh sách các i tư ng; Ngôn ng C++ 4
  5. Ví dụ 1 Ngôn ng C++ 5
  6. Ví dụ 2 class queue { int q[100]; int sloc, rloc; public: void init(); void qput(int i); int qget(); }; Ngôn ng C++ 6
  7. • M t class có th ch a thành viên private (riêng) hay public (ph bi n). M c nh là private, có nghĩa là ch ư c truy xu t b i các thành viên khác c a class. • cho phép truy xu t t ph n khác c a chương trình thì nh nghĩa thành viên sau t khóa public. Như v y ph n khác c a chương trình truy xu t bi n riêng c c class thông qua các hàm public. Ngôn ng C++ 7
  8. Tạo đối tượng • Khi ã nh nghĩa class, có th t o i tư ng b ng cách dùng tên c a class làm ki u. ví d : queue Q1,Q2; • Khi m t i tư ng ư c t o ra nó s s h u riêng các b n sao bi n và hàm thành viên. Ngôn ng C++ 8
  9. Truy xuất • truy xu t thành viên public c a class thông qua m t i tư ng dùng d u ch m như cách dùng trên ki u c u trúc. • ví d cout
  10. Thực hiện một hàm thành viên • Dùng d u :: thông báo hàm c a class tên class :: tên hàm thành viên(){code} ví d : void queue::qput(int i) { if(sloc==100) { cout
  11. • Khi m t hàm thành viên g i m t hàm thành viên khác c a l p nó có th g i tr c ti p, không có i tư ng hay d u ch m. • Khi code n m ngoài class thì ph i tham chi u bi n thông qua i tư ng và d u ch m. Ngôn ng C++ 11
  12. void queue::init() // L y s t queue. {rloc = sloc = 0; int queue::qget() } { void queue::qput(int i) if(rloc == sloc) { { cout
  13. int main() cout
  14. Constructor • C++ cho phép các i tư ng t kh i ng khi ư c t o ra. Quá trình kh i ng ư c th c hi n thông qua m t constructor. • Constructor là m t hàm c bi t là thành viên c a class và có tên gi ng như class. Vì th constructor thư ng ư c g i là hàm t o. • Hàm t o không trà v giá tr Ngôn ng C++ 14
  15. class queue { queue::queue() int q[100]; { int sloc, rloc; sloc = rloc = 0; public: queue(); // constructor cout
  16. Destructor • Trong m t vài trư ng h p, m t i tư ng c n th c hi n m t s các ho t ng trư c khi b h y. • H y các i tư ng c c b và toàn c c. • Hàm h y có tác d ng gi i phóng vùng nh ãc p cho i tư ng trư c ó • Hàm h y có cùng tên v i class nhưng có d u ~ ng trư c. • Hàm h y cũng không có giá tr tr v Ngôn ng C++ 16
  17. class queue { queue::queue() int q[100]; { int sloc, rloc; public: sloc = rloc = 0; queue(); // constructor cout
  18. Hàm tạo có tham số • Hàm t o có th ch a tham s gán giá tr cho bi n thành viên m i khi i tư ng ư c t o ra. Ngôn ng C++ 18
  19. class queue { queue::queue(int id) int q[100]; { int sloc,rloc; sloc = rloc = 0; int who; who = id; public: cout
  20. • truy n tham s vào hàm t o, liên k t tham s v i i tư ng khi khai báo queue a = queue(102); • Cách khác queue a(102); ây là cách ph bi n nh t Ngôn ng C++ 20
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
2=>2