Gái trình Lập trình hướng đối tượng với C++

Tóm tắt Gái trình Lập trình hướng đối tượng với C++: ...định sẽ không được phát sinh nữa. Khi đó mọi câu lệnh xây dựng đối tượng mới đều sẽ gọi đến một hàm tạo của lớp. Nếu không tìm thấy hàm tạo cần gọi thì Chương trình dịch sẽ báo lỗi. Điều này thường xẩy ra khi chúng ta không xây dựng hàm tạo không đối, nhưng lại sử dụng các khai báo không tham ... C::xuat(); cout << "\n" << "So nguyen lop D = " << d << " Chuoi lop D: " << str ; } } ; void main() { D h1; clrscr(); h1.nhap(); D h2(h1); cout<<"\n\nH2:"; h2.xuat(); h1.nhap(); cout<<"\n\nH2:"; h2.xuat(); cout<<"\n\nH...a tạo như thể xuất dữ liệu ra cout (xem các mục trên). + Cách 2: Dùng hàm tạo 1 để xây dựng một dòng xuất. Sau đó dùng phương thức open để mở một tệp cụ thể và cho gắn với dòng xuất vừa xây dựng. Khi không cần làm việc với tệp này nữa, chúng ta có thể dùng phương thức close để chấm dứt mọi r...

pdf396 trang | Chia sẻ: havih72 | Lượt xem: 345 | Lượt tải: 0download
Nội dung tài liệu Gái trình Lập trình hướng đối tượng với C++, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
for(i=1;i<=n;++i) 
b[i]=rand(); 
cout<<"\nDay ban dau\n "; 
for(i=1;i<=n;++i) cout <<b[i]<<" "; 
cout<<"\n\nCac day tang sap xep theo "; 
cout << "select_sort, quick_sort, heap_sort\n"; 
for(k=0; k<3; ++k) 
{ 
for(i=1;i<=n;++i) 
a[i]=b[i]; 
s[k]->sapxep (a+1,n,sizeof(int),ss_tang); 
//In 
for(i=1;i<=n;++i) cout <<a[i]<<" "; 
cout<<"\n"; 
} 
cout<<"\n\nCac day giam sap xep theo "; 
cout << "select_sort, quick_sort, heap_sort\n"; 
for(k=0; k<3; ++k) 
{ 
for(i=1;i<=n;++i) 
a[i]=b[i]; 
s[k]->sapxep (a+1,n,sizeof(int),ss_giam); 
//In 
for(i=1;i<=n;++i) cout <<a[i]<<" "; 
cout << "\n"; 
} 
getch(); 
} 
Lập Trình Hướng Đối Tượng Với C++ 
GS: Phạm Văn Ất 376 tenshi3003@gmail.com 
Phụ lục 1 
Thứ tự ưu tiên của các phép toán 
Các phép toán được chia thành 16 nhóm. Các phép toán trong cùng nhóm có mực độ ưu tiên như 
nhau. 
Về trình tự kết hợp thì: 
+ Các phép tính của nhóm 2, nhóm 14 và toán tử gán (nhóm 15) kết hợp từ phải sang trái. 
+ Các phép toán còn lại kết hợp từ trái qua phải. 
1. Nhóm một 
() Gọi hoàm (Function call) 
[] Chỉ số mảng (Array subscript) 
-> Chọn gián tiếp một thành phần (indirect component selector) 
:: Xác định phạm vi truy nhập (scope access/resolution) 
. Chọn trực tiếp một thành phần (direct component selector) 
2. Nhóm hai 
() Gọi hoàm (Function call) 
! Phủ định logic (Logical negation -NOT) 
~ Lấy phần bù theo bit (Bitwise (1's) complement) 
+ Dấu cộng (Unary plus) 
- Dấu trừ (Unary minus) 
++ Phép tăng một (Preincrement or postincrement) 
-- Phép giảm một (Predecrement or postdecrement) 
& Phép lấy địa chỉ (Address) 
* Truy nhập gián tiếp (Indirection) 
sizeof Cho kích thước của toán hạng (returns size of operand, in bytes) 
new Cấp phát bộ nhớ động (dynamically allocates C++ storage) 
delete Giải phóng bộ nhớ (dynamically deallocates C++ storage) 
3. Nhóm ba 
* Nhân ( Multiply) 
/ Chia (Divide) 
% Lấy phần dư (Remainder - modulus) 
4. Nhóm bốn 
.* Gọi gián tiếp tới thành phần từ một biến đối tượng 
->* Gọi gián tiếp tới thành phần từ một con trỏ đối tượng 
5. Nhóm năm 
+ Cộng (Binary plus) 
- Trừ (Binary minus) 
6. Nhóm sáu 
<< Dịch trái (Shift left) 
Lập Trình Hướng Đối Tượng Với C++ 
GS: Phạm Văn Ất 377 tenshi3003@gmail.com 
>> Dịch phải (Shift right) 
7. Nhóm bẩy 
< Nhỏ hơn (Less than) 
<= Nhỏ hơn hoặc bằng (Less than or equal to) 
> Lớn hơn (Greater than) 
>= Lớn hơn hoặc bằng (Greater than or equal to) 
8. Nhóm tám 
== Bằng (Equal to) 
!= Không bằng (Not equal to) 
9. Nhóm chín 
& Phép và theo bit (Bitwise AND) 
10. Nhóm mười 
^ Phép hoặc loại trừ theo bit (Bitwise XOR) 
11. Nhóm mười một 
| Phép hoặc theo bit (Bitwise OR) 
12. Nhóm mười hai 
&& Phép và logic (Logical AND) 
13. Nhóm mười ba 
&& Phép hoặc logic (Logical OR) 
14. Nhóm mười bốn 
?: Toán tử điều kiện (a ? x : y means "if a then x, else y") 
15. Nhóm mười năm 
= Phép gán đơn giản (Simple assignment) 
*= Phép gán sau khi nhân (Assign product) 
/= Phép gán sau khi chia (Assign quotient) 
%= Phép gán sau khi lấy phần dư (Assign remainder) 
+= Phép gán sau khi cộng (Assign sum) 
-= Phép gán sau khi trừ (Assign difference) 
&= Phép gán sau khi AND theo bit (Assign bitwise AND) 
^= Phép gán sau khi XOR theo bit (Assign bitwise XOR) 
|= Phép gán sau khi OR theo bit (Assign bitwise OR) 
<<= Phép gán sau khi dịch trái (Assign left shift) 
>>= Phép gán sau khi dịch phải (Assign right shift) 
16. Nhóm mười sáu 
, Toán tử phẩy dùng để phân cách các phần tử 
Tất cả các toán tử nói trên đều có thể định nghĩa chồng trừ các toán tử sau: 
. Chọn trực tiếp một thành phần 
Lập Trình Hướng Đối Tượng Với C++ 
GS: Phạm Văn Ất 378 tenshi3003@gmail.com 
.* Gọi gián tiếp tới thành phần từ một biến đối tượng 
:: Toán tử xác định phạm vi truy nhập 
?: Toán tử điều kiện 
Lập Trình Hướng Đối Tượng Với C++ 
GS: Phạm Văn Ất 379 tenshi3003@gmail.com 
Phụ lục 2 
Các từ khóa của c++ 
asm double new switch 
auto else operator template 
break enum private this 
case extern protected throw 
catch float public try 
char for register typedef 
class friend return union 
const goto short unsigned 
continue if signed virtual 
default inline sizeof void 
delete int static volatile 
do long struct while 
Lập Trình Hướng Đối Tượng Với C++ 
GS: Phạm Văn Ất 380 tenshi3003@gmail.com 
Phụ lục 3 
Bảng mã asskey và giải quyết 
1. Bảng mã ascii 
Bộ ký tự ASCII gồm 256 ký tự được phân bố như sau: 
+ 32 ký tự đầu tiên là các ký tự điều khiển không in được như ký tự Enter (mã 13), ký tự ESC 
(mã 27). 
+ Các mã ASCII 32-47, 58-64, 91-96 và 123-127 là các ký tự đặc biệt như dấu chấm, dấu phẩy, 
dấu cách, dấu ngoặc, dấu móc, dấu hỏi,... 
+ Các mã ASCII 48-57 là 10 chữ số 
+ Các mã ASCII 65-90 là các chữ cái hoa từ A đến Z 
+ Các mã ASCII 97-122 là các chữ cái thường từ a đến z 
Lưu ý: Chữ thường có mã ASCII lớn hơn 32 so với chữ hoa tương ứng. Ví dụ mã ASCII của a là 
97 còn mã ASCII của A là 65. 
+ Các mã ASCII 128-255 là các ký tự đồ hoạ. 
Bảng sau cho mã ASCII của 128 ký tự đầu tiên. Để nhận được các ký tự đồ hoạ (có mã từ 128 
đến 255) có thể dùng chương trình sau: 
// In các ký tự đồ hoạ lên màn hình 
#include 
#include 
main() 
{ 
int i; 
clrscr(); 
for (i=128; i<=255; ++i) 
printf("%6d%2c",i,i); 
} 
Bảng mã ASCII 
mã ký tự mã ký tự mã ký tự 
(Số TT) (Số TT) (Số TT) 
0 NUL 26 SUB 52 4 
1 SOH 27 ESC 53 5 
2 STX 28 FS 54 6 
3 ETX 29 GS 55 7 
4 EOT 30 RS 56 8 
5 ENQ 31 US 57 9 
6 ACK 32 Space 58 : 
7 BEL 33 ! 59 ; 
8 BS 34 “ 60 < 
9 HT 35 # 61 = 
Lập Trình Hướng Đối Tượng Với C++ 
GS: Phạm Văn Ất 381 tenshi3003@gmail.com 
10 LF 36 $ 62 > 
11 VT 37 % 63 ? 
12 FF 38 & 64 @ 
13 CR 39 ‘ 65 A 
14 SO 40 ( 66 B 
15 SI 41 ) 67 C 
16 DLE 42 * 68 D 
17 DC1 43 + 69 E 
18 DC2 44 , 70 F 
19 DC3 45 - 71 G 
20 DC4 46 . 72 H 
21 NAK 47 / 73 I 
22 SYN 48 0 74 J 
23 ETB 49 1 75 K 
24 CAN 50 2 76 L 
25 EM 51 3 77 M 
78 N 95 _ 112 p 
79 O 96 * 113 q 
80 P 97 a 114 r 
81 Q 98 b 115 s 
82 R 99 c 116 t 
83 S 100 d 117 u 
84 t 101 e 118 v 
85 U 102 f 119 w 
86 V 103 g 120 x 
87 W 104 h 121 y 
88 X 105 i 122 z 
89 Y 106 J 123 { 
90 Z 107 k 124 | 
91 [ 108 l 125 } 
92 \ 109 m 126 ~ 
93 ] 110 n 127 DEL 
94 ^ 111 o 
2. Bảng mã scan từ bàn phím 
Mỗi phím trên bàn phím của IBM PC đều được gán một con số, gọi là mã scan, từ 1 đến 83. IBM 
PC AT đùng một nhóm mã khác, từ 1 đến 108 các mã này bắt đầu bằng các phím số, các phím chữ, 
rồi đến các phím chức năng và cuối cùng là các phím cho con trỏ, khi một phím được nhấn thì bộ 
xử lý của bàn phím gửi cho CPU mã scan tương ứng, khi nó được nhả thì mã scan cộng thêm 80 
hex sẽ được gửi tiếp cho CPU. 
Lập Trình Hướng Đối Tượng Với C++ 
GS: Phạm Văn Ất 382 tenshi3003@gmail.com 
 Hex Thập phân Phím của PC Phím của PC-AT 
1 1 ESC Tilde 
2-B 2-11 1-9,0 1-9,0 
C 12 trừ, gạch dưới trừ, gạch dưới 
D 13 =, + =, + 
E 14 Backspace \,thanh đứng 
F 15 Tab Backspace 
10 16 Q Tab 
11 17 W Q 
12 18 E W 
13 19 R E 
14 20 T R 
15 21 Y T 
16 22 U Y 
17 23 I U 
18 24 O I 
19 25 P O 
1A 26 [ P 
1B 27 ] [ 
1C 28 Enter ] 
1D 29 Ctrl 
1E 30 A Ctrl 
1F 31 S A 
20 32 D S 
21 33 F D 
22 34 G F 
23 35 H G 
24 36 J H 
25 37 K J 
26 38 L K 
27 39 Chấm phẩy, : L 
28 40 Nháy Chấm phẩy,: 
29 41 Tidle Nháy 
2A 42 Shift trái 
2B 43 \, thanh đứng Enter 
2C 44 Z Shift trái 
2D 45 X 
2E 46 C Z 
2F 47 V X 
30 48 B C 
Lập Trình Hướng Đối Tượng Với C++ 
GS: Phạm Văn Ất 383 tenshi3003@gmail.com 
31 49 N V 
32 50 M B 
33 51 Phảy N 
34 52 Chấm M 
35 53 /,? Phảy 
36 54 Shift phải Chấm 
37 55 *, PrtScr /, ? 
38 56 Alt 
39 57 Space bar Shift phải 
3A 58 Caps Lock Alt 
3B 59 F1 
3C 60 F2 
3D 61 F3 Space bar 
3E 62 F4 
3F 63 F5 
40 64 F6 Caps Lock 
41 65 F7 F2 
42 66 F8 F4 
43 67 F9 F6 
44 68 F10 F8 
45 69 Num Lock F10 
46 70 Scroll Lock,Break F1 
47 71 Home F3 
48 72 mũi tên lên F5 
49 73 PgUp F7 
4A 74 Dấu trừ bàn tính F9 
4B 75 Mũi tên trái 
4C 76 5 của bàn tính 
4D 77 Mũi tên phải 
4F 79 End 
50 80 Mũi tên xuống 
51 81 PgDn 
52 82 Ins 
53 83 Del 
5A 90 ESC 
5B 91 Home 
5C 92 Mũi tên trái 
5D 93 End 
5F 95 Num Lock 
60 96 Mũi tên lên 
Lập Trình Hướng Đối Tượng Với C++ 
GS: Phạm Văn Ất 384 tenshi3003@gmail.com 
61 97 5 của bàn tính 
62 98 Mũi tên xuống 
63 99 Ins 
64 100 Scroll Lock 
65 101 PgUp 
66 102 Mũi tên phải 
67 103 PgDn 
68 104 Del 
69 105 Sys 
6A 106 *, PrtScr 
6B 107 - 
6C 108 + 
Lập Trình Hướng Đối Tượng Với C++ 
GS: Phạm Văn Ất 385 tenshi3003@gmail.com 
Phụ lục 4 
 Hàm với đối số bất định trong C 
Trong các giáo trình C thường chỉ hướng dẫn cách xây dựng hàm với các đối cố định. Mỗi đối 
cần có một tham số (cùng kiểu với nó) trong lời gọi hàm. Tuy nhiên một vài hàm chuẩn của C lại 
không như vậy, mà linh hoạt hơn, chẳng khi dùng hàm printf hay scanf thì số tham số mà ta cung 
cấp cho hàm là không cố định cả về số lượng lẫn kiểu cách. Ví dụ trong câu lệnh: 
printf(“\n Tổng = %d “ , 3+4+5) ; 
có 2 tham số, nhưng trong câu lệnh: 
printf(“\n Hà Nội“ ) ; 
chỉ có một tham số. 
Như vậy cần phân biệt các khái niệm sau: 
- Đối số cố định được khai báo trong dòng đầu của hàm, nó có tên và kiểu 
- Tham số ứng với đối số cố định gọi là tham số cố định 
- Đối bất định được khai báo bởi ba dấu chấm: bất định cả về số lượng và kiểu 
- Tham số bất định (ứng với đối bất định) là một danh sách giá trị với số lượng và kiểu tuỳ ý 
(không xác định) 
Trong phụ lục này sẽ trình bầy cách xây dựng các hàm với đối số bất định. Công cụ chủ yếu 
được dùng là con trỏ và danh sách. 
1. Biến con trỏ 
Biến con trỏ (hay con trỏ) dùng để chứa địa chỉ của biến, mảng, hàm, ... Có nhiều kiểu địa chỉ, vì 
vậy cũng có nhiều kiểu con trỏ. Biến con trỏ được khai báo theo mẫu: 
Kiểu *Tên_biến_con_trỏ ; 
Ví dụ: 
float px ; // px là con trỏ thực 
Các phép toán quan trọng trên con trỏ gồm: 
+ Gán địa chỉ một vùng nhớ cho con trỏ (dùng toán tử gán, phép lấy địa chỉ, các hàm cấp phát bộ 
nhớ) 
+ Truy nhập vào vùng nhớ thông qua con trỏ, dùng phép toán: 
*Tên_con_trỏ 
(Để ý ở đây có 2 vùng nhớ: vùng nhớ của biến con trỏ và vùng nhớ mà địa chỉ đầu của nó chứa 
trong biến con trỏ) 
+ Cộng địa chỉ để con trỏ chứa địa chỉ của phần tử tiếp theo, dùng phép toán: 
++ Tên_con_trỏ hoặc Tên_con_trỏ ++ 
Chú ý rằng các phép toán trên chỉ có thể thực hiện đối với con trỏ có kiểu. 
2. Danh sách không cùng kiểu 
Dùng con trỏ có kiểu chỉ quản lý được một danh sách giá trị cùng kiểu, ví dụ dẫy số thực, dẫy số 
nguyên, dẫy các cấu trúc,.... 
Khi cần quản lý một danh sách các giá trị không cùng kiểu ta phải dùng con trỏ không kiểu 
(void) khai báo như sau: 
void * Tên_con_trỏ ; 
Lập Trình Hướng Đối Tượng Với C++ 
GS: Phạm Văn Ất 386 tenshi3003@gmail.com 
Con trỏ void có thể chứa các địa chỉ có kiểu bất kỳ, và dùng để trỏ đến vùng nhớ chứa danh sách 
cần quản lý. Một chú ý quan trọng là mỗi khi gửi vào hay lấy ra một giá trị từ vùng nhớ, thì tuỳ theo 
kiểu giá trị mà ta phải dùng phép chuyển kiểu thích hợp đối với con trỏ. Ví dụ sau minh hoạ cách 
lập một danh sách gồm một số nguyên, một số thực và một chuỗi ký tự. Chúng ta cần một bộ nhớ 
để chứa số nguyên, số thực và địa chỉ chuỗi và dùng các con trỏ void để quản lý vùng nhớ này. 
void *list , *p ; // Con trỏ list trỏ tới đầu danh sách 
// p dùng để duyệt qua các phần tử của danh sách 
list=malloc(sizeof(int) + sizeof(float)+ sizeof(char*) ); 
p=list; 
*((int*)p) = 12; // Đưa số nguyên 12 vào danh sách 
((int*)p)++ ; // Chuyển sang phần tử tiếp theo 
*((float*)p) = 3.14; // Đưa số thực 3.14 vào danh sách 
((float*)p)++ ; // Chuyển sang phần tử tiếp theo 
*((char**)p) = “HA NOI”; // Đưa địa chỉ chuỗi “HA NOI” 
// vào danh sách 
// Nhận các phần tử trong danh sách 
p=list; // Về đầu danh sách 
int a = *((int*)p); // Nhận phần tử thứ nhất 
((int*)p)++ ; // Chuyển sang phần tử tiếp theo 
float x= *((float*)p); // Nhận phần tử thứ hai 
((float*)p)++ ; // Chuyển sang phần tử tiếp theo 
char *str = *((char**)p) ; // Nhận phần tử thứ ba 
3. Hàm với đối số bất định 
+ Đối bất định bao giờ cũng đặt sau cùng và được khai báo bằng dấu ba chấm. Ví dụ ví dụ hàm 
void f(int n, char *s, ...) ; 
có 2 đối cố định là n, s và đối bất định. 
+ Để nhận được các tham số bất định trong lời gọi hàm ta cần lưu ý các điểm sau: 
- Các tham số bất định chứa trong một danh sách. Để nhận được địa chỉ đầu danh sách ta dùng 
một con trỏ void và phép gán sau: 
void *list ; 
list = ... ; 
- Dùng một tham số cố định kiểu chuỗi để quy định số lượng và kiểu của mỗi tham số trong danh 
sách, ví dụ: 
“3i” hiểu là : tham số bất định gồm 3 giá trị int 
“3f” hiểu là : tham số bất định gồm 3 giá trị float 
“fiss” hiểu là có 4 tham số bất định có kiểu lần lượt là float, int, char*, char* 
Một khi đã biết được địa chỉ đầu danh sách, biết được số lượng và kiểu của mỗi tham số , thì dễ 
dàng nhận được giá trị các tham số để sử dụng trong thân hàm. 
Ví dụ sau đây minh hoạ cách xây dựng các hàm với tham số bất định. Hàm dùng để in các giá trị 
kiểu int, float và char. Hàm có một tham số cố định để cho biết có bao nhiêu giá trị và kiểu các giá 
trị cần in. Kiểu quy định như sau: i là int, f là float, s là char*. Tham số có 2 cách viết: lặp (gồm một 
hằng số nguyên và một chữ cái định kiểu) và liệt kê (một dẫy các chữ cái định kiểu). Ví dụ: 
563 564 
Lập Trình Hướng Đối Tượng Với C++ 
GS: Phạm Văn Ất 387 tenshi3003@gmail.com 
“4s” có nghĩa in 4 chuỗi 
“siif” có nghĩa in một chuỗi, 2 giá trị nguyên và một giá trị thực: 
#include 
#include 
#include 
#include 
#include 
#include 
void InDanhSachGiaTri(char *st,...) 
{ 
void *list ; 
int gt_int ; 
float gt_float; 
char *gt_str; 
int n,i ; 
char kieu; 
int lap; 
list = ... ; // list tro toi vung nho chua danh sach dia chi cac 
// tham so 
lap = isdigit(st[0]) ; 
if (lap) 
n=st[0] - '0' ; 
else 
n=strlen(st); 
printf("\n n= %d lap = %d",n,lap); getch(); 
for(i=0;i<n;++i) 
{ 
if(lap) 
kieu=st[1]; 
else 
kieu = st[i]; 
printf("\nKieu= %c",kieu); getch(); 
switch(kieu) 
{ 
case 'i' : 
gt_int = *((int*)list); 
if(!lap) 
((int*)list)++ ; 
printf("\nGia tri %d = %d",i,gt_int); 
break; 
Lập Trình Hướng Đối Tượng Với C++ 
GS: Phạm Văn Ất 388 tenshi3003@gmail.com 
case 'f' : 
gt_float = (float) (*((double*)list)); 
if(!lap) 
((double*)list)++ ; 
printf("\nGia tri %d = %0.2f",i,gt_float); 
break; 
 case 's' : 
gt_str = *((char**)list) ; 
if(!lap) 
((char**)list)++ ; 
 printf("\nGia tri %d = %s",i,gt_str); 
} 
} 
} 
void main() 
 { 
float x=3.14; 
int a=123; 
char *tp="HAI PHONG"; 
InDanhSachGiaTri("4i",a); 
InDanhSachGiaTri("4s","HA NOI"); 
InDanhSachGiaTri("ifsssffii", a, x, tp, tp,"QUY NHON", 
x, 6.28, a, 246); 
InDanhSachGiaTri("4f",6.28); 
getch(); 
} 
4. Hàm không đối và hàm với đối bất định 
Nhiều người nghĩ hàm khai báo như sau 
void f(); 
là hàm không đối trong C. Trong C++ thì hiểu như thế là đúng, còn trong C thì đó là hàm có đối bất 
định (hàm không đối trong C khai báo như sau: f(void) ). Do không có đối cố định nào cho biết về 
số lượng và kiểu của các tham số bất định, nên giải pháp ở đây là dùng các biến toàn bộ. Rõ ràng 
giải pháp này không không thuận tiện cho người dùng vì phải khai báo đúng tên biến toàn bộ và 
phải khởi gán giá trị cho nó trước khi gọi hàm. Ví dụ trình bầy một hàm chỉ có đối bất định dùng để 
tính max và min của các giá trị thực. Các tham số bất định được đưa vào theo trình tự sau: Địa chỉ 
chứa max, địa chỉ chứa min, các giá trị nguyên cần tính max, min. Chương trình dùng biến toàn bộ 
N để cho biết số giá trị nguyên cần tính max, min. 
int N; 
void maxmin() 
{ 
void *lt = ... ; 
Lập Trình Hướng Đối Tượng Với C++ 
GS: Phạm Văn Ất 389 tenshi3003@gmail.com 
float *max, *min , tg; 
int i; 
max = *((float**)lt)++; 
min = *((float**)lt)++; 
*max = *min = (float) *((double*)lt)++; 
for(i=1;i<N;++i) 
{ 
tg= (float) *((double*)lt)++; 
if(tg > *max) *max = tg; 
if(tg < *min) *min = tg; 
} 
} 
Lập Trình Hướng Đối Tượng Với C++ 
GS: Phạm Văn Ất 390 tenshi3003@gmail.com 
phụ lục 5 
Tóm tắt các hàm của Turbo C theo thứ tự ABC 
1. _chmod 
2. _close 
3. _creat 
4. _open 
5. abort 
6. abs 
7. acos 
8. arc 
9. asin 
10. atan 
11. atan2 
12. atof 
13. atoi 
14. atol 
15. bar 
16. bar3d 
17. cabs 
18. calloc 
19. ceil 
20. chdir 
21. chmod 
22. circle 
23. cleardevive 
24. clearviewport 
25. close 
26. clreol 
27. clrscr 
28. coreleft 
29. cos 
30. cosh 
31. cprintf 
32. creat 
33. cscanf 
34. delay 
35. delline 
36. disable 
37. drawpoly 
Lập Trình Hướng Đối Tượng Với C++ 
GS: Phạm Văn Ất 391 tenshi3003@gmail.com 
38. ecvt 
39. ellipse 
40. enable 
41. exit 
42. exp 
43. fabs 
44. fclose 
45. fcloseall 
46. fcvt 
47. feof 
48. ferror 
49. fflush 
50. fflushall 
51. fgetc 
52. fgets 
53. fillpopy 
54. findfirst 
55. findnext 
56. floodfill 
57. floor 
58. fmode 
59. fopen 
60. FP_OFF 
61. FP_SEG 
62. fprintf 
63. fprintf 
64. fputc 
65. fputs 
66. fread 
67. free 
68. fscanf 
69. fseek 
70. fteel 
71. fwrite 
72. gcvt 
73. geninterrupt 
74. getbkcolor 
75. getc 
76. getch 
77. getchar 
Lập Trình Hướng Đối Tượng Với C++ 
GS: Phạm Văn Ất 392 tenshi3003@gmail.com 
78. getche 
79. getcolor 
80. getcwd 
81. getdate 
82. getimage 
83. getlinesettings 
84. getmaxcolor 
85. getmaxx 
86. getmaxy 
87. getpalette 
88. getpixel 
89. gets 
90. gettextinfo 
91. gettime 
92. gettime 
93. getvect 
94. getviewport 
95. getw 
96. gotoxy 
97. gotoxy 
98. grapherrormsg 
99. graphresult 
100. imagesize 
101. initgraph 
102. int86 
103. int86x 
104. intdos 
105. intdosx 
106. intr 
107. inxdigit 
108. isalnum 
109. isalpha 
110. iscntrl 
111. isdigit 
112. isgraph 
113. islower 
114. isprint 
115. ispunct 
116. isspace 
117. isupper 
Lập Trình Hướng Đối Tượng Với C++ 
GS: Phạm Văn Ất 393 tenshi3003@gmail.com 
118. itoa 
119. kbhit 
120. keep 
121. labs 
122. line 
123. linerel 
124. lineto 
125. log 
126. log10 
127. lseek 
128. ltoa 
129. malloc 
130. memccpy hoặc 
131. memchr hoặc 
132. memcmp hoặc 
133. memcpy hoặc 
134. memicmp hoặc 
135. memset hoặc 
136. MK_FP 
137. mkdir 
138. movedata 
139. movedata hoặc 
140. moveto 
141. nosound 
142. open 
143. outtext 
144. outtextxy 
145. peek 
146. peekb 
147. perror 
148. pieslice 
149. poke 
150. pokeb 
151. pow 
152. printf 
153. putc 
154. putch 
155. putchar 
156. putimage 
157. putpixel 
Lập Trình Hướng Đối Tượng Với C++ 
GS: Phạm Văn Ất 394 tenshi3003@gmail.com 
158. puts 
159. putw 
160. rand 
161. random 
162. randomize và 
163. read 
164. realloc 
165. rectangle 
166. remove 
167. rewind 
168. rmdir 
169. scanf 
170. segread 
171. setbkcolor 
172. setcolor 
173. setdate 
174. setfillstyle 
175. setlinestyle 
176. setpalette 
177. settextjustify 
178. settextstyle 
179. settime 
180. setvect 
181. setviewport 
182. setwritemode 
183. sin 
184. sinh 
185. sleep 
186. sound 
187. sprintf 
188. sqrt 
189. srand 
190. strcat 
191. strchr 
192. strcmp 
193. strcmpi 
194. strcpy 
195. strcspn 
196. strdup 
197. stricmp 
Lập Trình Hướng Đối Tượng Với C++ 
GS: Phạm Văn Ất 395 tenshi3003@gmail.com 
198. strlen 
199. strlwr 
200. strncat 
201. strncmp 
202. strncpy 
203. strnicmp 
204. strnset 
205. strpbrk 
206. strrchr 
207. strrev 
208. strset 
209. strspn 
210. strstr 
211. strupr 
212. system 
213. tan 
214. tanh 
215. textbackground 
216. textcolor 
217. textheight 
218. textmode 
219. textwidth 
220. time 
221. tolower 
222. toupper 
223. ultoa 
224. unlink 
225. wherex 
226. wherey 
227. window 
228. write 
Lập Trình Hướng Đối Tượng Với C++ 
GS: Phạm Văn Ất 396 tenshi3003@gmail.com 

File đính kèm:

  • pdfgai_trinh_lap_trinh_huong_doi_tuong_voi_c.pdf