![Phân tích tư tưởng của nhân dân qua đoạn thơ: Những người vợ nhớ chồng… Những cuộc đời đã hóa sông núi ta trong Đất nước của Nguyễn Khoa Điềm](https://timtailieu.net/upload/document/136415/phan-tich-tu-tuong-cua-nhan-dan-qua-doan-tho-039-039-nhung-nguoi-vo-nho-chong-nhung-cuoc-doi-da-hoa-song-nui-ta-039-039-trong-dat-nuoc-cua-nguyen-khoa-136415.jpg)
Tìm hiểu cách sử dụng từ khóa CONST trong ngôn ngữ lập trình hướng đối tượng C++
Số trang: 13
Loại file: pdf
Dung lượng: 104.26 KB
Lượt xem: 1
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:
Như đã biết, trong các đời sống cũng như mọi lĩnh vực, luôn có giá trị không thể thay đổi gọi là hằng số
Nội dung trích xuất từ tài liệu:
Tìm hiểu cách sử dụng từ khóa "CONST" trong ngôn ngữ lập trình hướng đối tượng C++TÌM HI U CÁCH S D NG T KHÓA CONST TRONG NGÔN NG L P TRÌNH HƯ NG ð I TƯ NG C++ M CL CA. N i Dung........................................................................Trang 3I. M ñ u.............................................................................Trang 3II. H ng ...............................................................................Trang 3a. Khai báo h ng trong C++ ................................................Trang 3III T khóa const trong C++................................................Trang 41. T khóa const v i con tr ................................................Trang 42. T khóa const v i ñ i tư ng............................................Trang 5a. H ng ñ i tư ng................................................................Trang 5b. Tham chi u h ng, con tr h ng........................................Trang 5c. Phương th c h ng............................................................Trang 7B. K T LU N ....................................................................Trang 10Tài li u tham kh o ...............................................................Trang 10 1A. N I DUNG:I. M ñ uNhư ta ñã bi t, trong các ñ i s ng cũng như trong m i lĩnh v c, luôn có cácgiá tr không th thay ñ i g i là h ng s ,Vd: s π v i 100 ch sô th p phân:3,1415926535897932384626433832795028841971693993751058209749445923078164 062862089986280348253421170679V n ñ là trong tin h c, c m i khi dùng ñ n giá tr π thì ch l c vi t h t t tc các ch s ???II. H ngN u dùng m t bi n ñ lưu tr giá tr c a h ng s thì có m t v n ñ là bi n thìthay ñ i ñư c giá tr l i.VD:float PI=3,14;//////PI=8;//////ðo n mã trên không báo l i.Lo i l i này r t khó nh n th y nhưng ñ l i h u qu r t to l n. n u sau ñó takhông chú ý c dùng bi n ñó trên các ño n mã c n s π, v y ta ph i dùngh ng ñ khai báo cho giá tr này.a. Khai báo h ng trong C++:Có 2 cách khai báo h ng- Dùng ch th #define:#define A gia tritác d ng: ñ nh nghĩa macro ñ i di n cho giá tr dùng ñ thay th A trong Año n mã tr nh ng ño n trong thành giá tr .ch t h còn có nhi u tác d ng khác. #define- Dùng t khóa const:const ki u tên_h ng=giá_trí;ki u const tên_h ng=giá_trí;VD: 2const int x=8;Tác d ng: Khai báo 1 h ng ki u int tên x có giá tr b ng 8.Sau khi khai báo thì ta không th thay ñ i x, ví d :x=8; //l iCâu l nh trên báo l i vì ta c g ng thay ñ i 1 h ng s .III. T khóa const trong C++ Như ta ñã bi t trên, t khóa const dùng ñ khai báo h ng:const ki u tên_h ng=giá_trí;ki u const tên_h ng=giá_trí;VD:const int x=8;int const y=4;V nñ ñây là hai cách khai báo này có khác nhau không? Và t khóa constcòn tác d ng nào không?Câu tr l i là có.1. T khóa const v i con tr ð i v i bi n con tr ta nên phân bi t hai ñi u: vùng nh con tr tr ñ nvà giá tr c a vùng nh ñó.Vd:int x = 10, y = 20;const int *px = &x;Khai báo như v y, giá tr c a vùng nh mà px ñang tr ñ n là không th thayñ i ñư c thông qua thay ñ i (*px). Do ñó, ta có các câu l nh sau:*px = 15;// l ipx = &y;x = 15;Vì ta dùng *px ñ thay ñ i giá tr c a vùng nh mà px ñang tr ñ n.Chú ý: Giá tr c a x v n có th ñư c thay ñ i, ta ch không th thay ñ i giá trnày thông qua px.Nhưng v i các khai báo sau:int x = 10, y = 20;int* const px = &x;Thì px không th thay ñ i vùng nh ñang tr ñ n, nhưng giá tr c a vùng nhcó th thay ñ i thông qua px*px=y; 3*px=&y;//l iV i khai báo sau:int x = 10;const int* const px = &x;B n không th thay ñ i nơi px ñang tr ñ n và thông qua (*px) cũng khôngth thay ñ i giá tr vùng nh ñó.2. T khóa const v i ñ i tư ng Gi s ta có l p v i hàm t o sau:class A{ int a;public: A(int t=0){a=t;} //...};a. H ng ñ i tư ngð khai báo h ng ñ i tư ng ta dùng t khóa const như sau:A const a(4);const A b;Ta không th thay ñ i giá tr các thu c tính c a h ng ñ i tư ng, k c thôngqua con tr tr khi dùng cách ñ c bi t.VD: ta có hàm sauvoid A::set(int x){ a=x ;}Thì ta không th dùng hàm này ñ thay ñ i giá tr c a h ng ñ i tư ng l p A.b. Tham chi u h ng, con tr h ng Gi s có hàm có ñ i tư ng ñ u vào sautype C(A a){ //Các câu l nh} M t ñ i tư ng object s ñư c t o và máy s copy toàn b giá tr c a avào object r i x lý. V n ñ phát sinh là khi ta có m t class v i kích thư c l n hàm s làm cho chương trình trthì vi c chép giá tr vào tham s hình th cnên ch m ñi và ñ c bi t là s hao phí b nh và sau khi ra kh i hàm, b nhb h y khi ñó s g i hàm h y, r t d d n ñ n tình tr ng gi i phóng l i vùngnh ñã ñư c gi phóng. 4 Vì v y ngư i ta thư ng dùng tham s chuy n vào là con tr hay thamchi u:type C(A *a){ //Các câu l nh}ho ctype C(A &a){ //Các câu l nh} Hàm trên s d ng tham s hình th c là m t bi n con tr và hàm dư idùng m t bi n tham chi u. Hai cách khai báo này s cho k t qu tương tnhau n u ta không dùng con tr ñ tr vào ñ i tư ng khác trong khi dùnghàm. Khi này, v i l i g i hàm như trên thì ñ a ch c a x s ñư c truy n vào,do ñó s tránh ñư c vi c ph i chép c c u trúc v i kích thư c l n. Nhưng v i khai báo như th thì giá tr c a bi n truy n vào có th bthay ñ i thông qua bi n object (vì là bi n con tr ho c tham chi u), trong khiv i cách khai báo như cũ thì ta không h mu n giá tr này b s a ñ i chút nào.Do ñó, t khóa const ñư c s d ng:type C(const A *a){ //Các câu l nh}type C(const ...
Nội dung trích xuất từ tài liệu:
Tìm hiểu cách sử dụng từ khóa "CONST" trong ngôn ngữ lập trình hướng đối tượng C++TÌM HI U CÁCH S D NG T KHÓA CONST TRONG NGÔN NG L P TRÌNH HƯ NG ð I TƯ NG C++ M CL CA. N i Dung........................................................................Trang 3I. M ñ u.............................................................................Trang 3II. H ng ...............................................................................Trang 3a. Khai báo h ng trong C++ ................................................Trang 3III T khóa const trong C++................................................Trang 41. T khóa const v i con tr ................................................Trang 42. T khóa const v i ñ i tư ng............................................Trang 5a. H ng ñ i tư ng................................................................Trang 5b. Tham chi u h ng, con tr h ng........................................Trang 5c. Phương th c h ng............................................................Trang 7B. K T LU N ....................................................................Trang 10Tài li u tham kh o ...............................................................Trang 10 1A. N I DUNG:I. M ñ uNhư ta ñã bi t, trong các ñ i s ng cũng như trong m i lĩnh v c, luôn có cácgiá tr không th thay ñ i g i là h ng s ,Vd: s π v i 100 ch sô th p phân:3,1415926535897932384626433832795028841971693993751058209749445923078164 062862089986280348253421170679V n ñ là trong tin h c, c m i khi dùng ñ n giá tr π thì ch l c vi t h t t tc các ch s ???II. H ngN u dùng m t bi n ñ lưu tr giá tr c a h ng s thì có m t v n ñ là bi n thìthay ñ i ñư c giá tr l i.VD:float PI=3,14;//////PI=8;//////ðo n mã trên không báo l i.Lo i l i này r t khó nh n th y nhưng ñ l i h u qu r t to l n. n u sau ñó takhông chú ý c dùng bi n ñó trên các ño n mã c n s π, v y ta ph i dùngh ng ñ khai báo cho giá tr này.a. Khai báo h ng trong C++:Có 2 cách khai báo h ng- Dùng ch th #define:#define A gia tritác d ng: ñ nh nghĩa macro ñ i di n cho giá tr dùng ñ thay th A trong Año n mã tr nh ng ño n trong thành giá tr .ch t h còn có nhi u tác d ng khác. #define- Dùng t khóa const:const ki u tên_h ng=giá_trí;ki u const tên_h ng=giá_trí;VD: 2const int x=8;Tác d ng: Khai báo 1 h ng ki u int tên x có giá tr b ng 8.Sau khi khai báo thì ta không th thay ñ i x, ví d :x=8; //l iCâu l nh trên báo l i vì ta c g ng thay ñ i 1 h ng s .III. T khóa const trong C++ Như ta ñã bi t trên, t khóa const dùng ñ khai báo h ng:const ki u tên_h ng=giá_trí;ki u const tên_h ng=giá_trí;VD:const int x=8;int const y=4;V nñ ñây là hai cách khai báo này có khác nhau không? Và t khóa constcòn tác d ng nào không?Câu tr l i là có.1. T khóa const v i con tr ð i v i bi n con tr ta nên phân bi t hai ñi u: vùng nh con tr tr ñ nvà giá tr c a vùng nh ñó.Vd:int x = 10, y = 20;const int *px = &x;Khai báo như v y, giá tr c a vùng nh mà px ñang tr ñ n là không th thayñ i ñư c thông qua thay ñ i (*px). Do ñó, ta có các câu l nh sau:*px = 15;// l ipx = &y;x = 15;Vì ta dùng *px ñ thay ñ i giá tr c a vùng nh mà px ñang tr ñ n.Chú ý: Giá tr c a x v n có th ñư c thay ñ i, ta ch không th thay ñ i giá trnày thông qua px.Nhưng v i các khai báo sau:int x = 10, y = 20;int* const px = &x;Thì px không th thay ñ i vùng nh ñang tr ñ n, nhưng giá tr c a vùng nhcó th thay ñ i thông qua px*px=y; 3*px=&y;//l iV i khai báo sau:int x = 10;const int* const px = &x;B n không th thay ñ i nơi px ñang tr ñ n và thông qua (*px) cũng khôngth thay ñ i giá tr vùng nh ñó.2. T khóa const v i ñ i tư ng Gi s ta có l p v i hàm t o sau:class A{ int a;public: A(int t=0){a=t;} //...};a. H ng ñ i tư ngð khai báo h ng ñ i tư ng ta dùng t khóa const như sau:A const a(4);const A b;Ta không th thay ñ i giá tr các thu c tính c a h ng ñ i tư ng, k c thôngqua con tr tr khi dùng cách ñ c bi t.VD: ta có hàm sauvoid A::set(int x){ a=x ;}Thì ta không th dùng hàm này ñ thay ñ i giá tr c a h ng ñ i tư ng l p A.b. Tham chi u h ng, con tr h ng Gi s có hàm có ñ i tư ng ñ u vào sautype C(A a){ //Các câu l nh} M t ñ i tư ng object s ñư c t o và máy s copy toàn b giá tr c a avào object r i x lý. V n ñ phát sinh là khi ta có m t class v i kích thư c l n hàm s làm cho chương trình trthì vi c chép giá tr vào tham s hình th cnên ch m ñi và ñ c bi t là s hao phí b nh và sau khi ra kh i hàm, b nhb h y khi ñó s g i hàm h y, r t d d n ñ n tình tr ng gi i phóng l i vùngnh ñã ñư c gi phóng. 4 Vì v y ngư i ta thư ng dùng tham s chuy n vào là con tr hay thamchi u:type C(A *a){ //Các câu l nh}ho ctype C(A &a){ //Các câu l nh} Hàm trên s d ng tham s hình th c là m t bi n con tr và hàm dư idùng m t bi n tham chi u. Hai cách khai báo này s cho k t qu tương tnhau n u ta không dùng con tr ñ tr vào ñ i tư ng khác trong khi dùnghàm. Khi này, v i l i g i hàm như trên thì ñ a ch c a x s ñư c truy n vào,do ñó s tránh ñư c vi c ph i chép c c u trúc v i kích thư c l n. Nhưng v i khai báo như th thì giá tr c a bi n truy n vào có th bthay ñ i thông qua bi n object (vì là bi n con tr ho c tham chi u), trong khiv i cách khai báo như cũ thì ta không h mu n giá tr này b s a ñ i chút nào.Do ñó, t khóa const ñư c s d ng:type C(const A *a){ //Các câu l nh}type C(const ...
Tìm kiếm theo từ khóa liên quan:
kỹ thuật lập trình giáo trình kỹ thuật lập trình bài tập kỹ thuật lập trình tài liệu kỹ thuật lập trình chuyên ngành kỹ thuật lập trìnhTài liệu liên quan:
-
Kỹ thuật lập trình trên Visual Basic 2005
148 trang 278 0 0 -
NGÂN HÀNG CÂU HỎI TRẮC NGHIỆM THIẾT KẾ WEB
8 trang 222 0 0 -
Giới thiệu môn học Ngôn ngữ lập trình C++
5 trang 204 0 0 -
Bài giảng Nhập môn về lập trình - Chương 1: Giới thiệu về máy tính và lập trình
30 trang 176 0 0 -
Luận văn: Nghiên cứu kỹ thuật giấu tin trong ảnh Gif
33 trang 156 0 0 -
Báo cáo thực tập Công nghệ thông tin: Lập trình game trên Unity
27 trang 122 0 0 -
Giáo trình về phân tích thiết kế hệ thống thông tin
113 trang 114 0 0 -
LUẬN VĂN: Tìm hiểu kỹ thuật tạo bóng cứng trong đồ họa 3D
41 trang 110 0 0 -
Bài giảng Kỹ thuật lập trình - Chương 10: Tổng kết môn học (Trường Đại học Bách khoa Hà Nội)
67 trang 108 0 0 -
Giáo trình Nhập môn lập trình VB6: Phần 2
184 trang 97 0 0