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...
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:
gai_trinh_lap_trinh_huong_doi_tuong_voi_c.pdf



