... thư m c
TC sẽ gồm ccc thư m c con sau:
C: \TC\BGI chứa cc tệp ñuôi BGI và CHR
C: \TC\BIN chứa cc tệp chương trình (ñuôi EXE) như TC, TCC, TLIB,
TLINK, …
C: \TC\INCLUDE chứa cc tệp tiêu ... chính c a lậptrìnhc u tr c là tổ ch c chương trình thành cc chương
trình con. Trong PASCAL c hai kiểu chương trình con là thủ t c (procedure) và
hàm (fuction). Trong C chỉ c một loại chương ...
lập trìnhc u tr c. Một chương trìnhc u tr c gồm cc cấu tr c dữ liệu (như biến,
mảng, bản ghi, …) và cc hàm, thủ t c. Nhiệm vụ chính c a vi c tổ ch c thiết kế
chương trìnhc u tr c là tổ chức...
... ph c tạp thì tất ccc
c u lệnh không thể đư c đưa vào một chương trình, chúng c n đư c chia ra thành một số
chương trình nhỏ hơn. Tất ccc chương trình này cuối c ng đư c tích hợp lại để chúng ... 2.2: Cc toán tử số h c và ch c năng
Cc toán tử hai ngôi
Trong C, cc toán tử hai ngôi c ch c năng giống như trong cc ngôn ngữ kh c. Những toán
tử như +, -, * và / c thể đư c áp dụng cho ... t c vụ riêng biệt. Ðiều này c thể th c
hiện qua vi c dùng cc hàm hay cc khối mã lệnh (Code Block). Cc hàm đư c dùng để định
nghĩa hay tách rời những t c vụ đư c yêu c u trong chương trình. ...
... mẽ c a ngôn ngữ
C. Ngôn ngữ C
++
là một ngôn ngữ lai, t c là nó cho phép tổ ch c chương trình theo
c cc lớp và cc hàm. C thể nói C
++
ñã th c ñẩy ngôn ngữ C vốn ñã rất thuyết
ph c ñi ... 80 c a thế kỷ
trư c là lậptrìnhc u tr c. ðó là phương pháp tổ ch c, phân chia chương
trình thành cc hàm, thủ t c. Thông qua cc ngôn ngữ như Pascal và C, ña số
những người làm Tin h c ñã ... phương pháp lậptrình này. Tuy
nhiên phương pháp lậptrình này c ng dần b c lộ nhiều hạn chế.
Phương pháp lậptrình hướng ñối tượng ñã kh c ph c ñư c những hạn chế c a
lập trìnhc u tr c và mở...
... chọn cc nút kh c bằng đoạn lệnh sau.
case WM_COMMAND:
switch (LOWORD (wParam))
{
case IDC_BLACK:
case IDC_RED:
case IDC_GREEN:
case IDC_YELLOW:
case IDC_BLUE:
case IDC_MAGENTA:
case IDC_CYAN:
case ... điệp WM_COMMAND đến c a sổ cha c a
nó và c a sổ cha c thể thay đổi trạng thái c a cc thành phần điều khiển con như kích hoạt, đánh
dấu (check), bỏ dấu check (uncheck) bằng c ch gởi cc thông ... thạo C mới h c
đư clậptrình Windows.
Để c thể lậptrình trên nền Windows ngoài yêu c u về vi c sử dụng c ng clập trình,
người h c còn c n phải cc n bản về Windows, tối thiểu thì c ng...
... làm vi c chính (Frame window) và nhiều c a sổ con (Child
window)
Cho phép thay đổi kích thư c cửa sổ (Resizeable)
Cho phép Maximize/Minimize/Close cc cửa sổ con
Ví dụ: Word, Excel, VC++,…
Dialog
Một ... MyWndProc; // tên hàm xử lý message
wc.hInstance = hInstance;
wc.hCursor = LoadCursor(hInstance, (LPSTR) IDC_CURSOR);
wc.hIcon = LoadIcon(hInstance, (LPSTR) IDI_ICON);
wc.hbrBackground = (HBRUSH) (COLOR_APPWORKSPACE ... dụng chung cho tất ccc cửa sổ c a c ng
1 class
Đư c gọi bởi HĐH (là hàm Callback)
Spring 200 4C4 W - Basic - Nguyen Tri Tuan - DH.KHTN Tp.HCM 28
GUI – Window …(tt)
Dạng tổng quát c a 1...
...
char c; char s[20];
C ch c a C
CODE
//không dùng scan nếu muốn nhập khoảng trắng
gets(s); / /c thể nhập khoảng trng
puts(s);
fflush(stdin); //xúa b m nhp
c= getchar();
putcharâ;
C ch c a ... đ c: h c xong Lậptrình C/ C++ c n bản
BÀI 1: NH C LẠI VỀ C/ C++
Nhập xuất c bản
CODE
#define max(a,b) (a>b)?a:b //khai báo macro
typedef unsigned int byte; //định nghĩa kiểu dữ liệu
const ... dữ liệu bằng hàm với kiểu mảng số nguyên
Nhập xuất dữ liệu bằng hàm với kiểu mảng số nguyên theo kiểu
C, c ch 1
CODE
void input(int[]);
input(a);
LẬPTRÌNH C/ C++ NÂNG CAO
Yêu c u trước...
... LẬPTRÌNH C/ C++ NÂNG CAO
Yêu c u trư c khi đ c: h c xong Lậptrình C/ C++ c n bản
BÀI 2: NH C LẠI VỀ C/ C++ (TIẾP THEO)
C u tr c (struct)
Con trỏ c u tr c (struct pointer)
CODE
struct ... đó đư c sử dụng. Với c ch này, cc
hàm inline c t c độ th c thi cc nhanh, nên sử dụng với cc hàm
thường xuyên phải sử dụng trong chương trình.
CODE
inline void display(char *s)
{
cout<<s<<endl; ... vào c u tr c.
C ch 1
CODE
void add(char name[],int *place)
{
cin>>name;
cin.get();
cin>>*place;
}
add(a.name,&a.id);
C ch 2
CODE
void add(Student &s)
{
cin>>s.name;...
...
}
Chúng ta tạo con trỏ để trỏ đến cc subclass c a nó
CODE
MusicPlayer *m=new DVD(5);m->play();
Chúng ta cung c thể tạo mảng cc con trỏ c a một lớp trừu tượng
CODE
class MusicPlayer ...
Nh c lại một chút về mảng cc kí tự (char array)
CODE
char destArray[10];char srcArray[]="panther";
strcpy(destArray, srcArray);
strcpy(destArray, srcArray,strlen(srcArray));
strcat(s1,s2); ... tự thứ 7 c a s1
*kích c (capacity)
s.capacity() trả về kích c tối đa
if s.size()=15, s.capacity()=16 (16-byte)
if s.size()=17, s.capacity()=32 (two 16-byte)
*truy xuất chuỗi
#include <stdexcept>...
...
this->special=new char[strlen(d.special)+1]; / /c p phát bộ nhớ cho nó
strcpy(this->special,d.special); //phải dùng strcpy với char array
}
int main(){
LẬPTRÌNH C/ C++ NÂNG CAO
Yêu c u trư c ... segmentation fault
}
myclass::~myclass(){
delete p;
}
Hàm khởi tạo sao chép (copy constructor
CODE
class Date{
public:
int day;int month;char *special;
Date(int,int,char*);
Date(const Date&); ... TRÌNH C/ C++ NÂNG CAO
Yêu c u trư c khi đ c: h c xong Lậptrình C/ C++ c n bản
BÀI 3: NH C LẠI VỀ LỚP
C bản về lớp
CODE
class Date{
int day;
public:
Date(int,int a=1);
int month;
void...
...
hơn cc phân ngành IT kh c. Biên dịch thành c ng, mà tại sao nó … kì cc
vầy nè ?)
C u tinh xuất hiện, đó _______________là một tham chiếu mà tham chiếu đến
một con trỏ (a reference which refers ... trỏ đến một con trỏ kh c& quot;, chứ không thề c những khái niệm
như "một tham chiếu mà tham chiếu đến một tham chiếu kh c& quot; hay
"một con trỏ mà trỏ đến một tham chiếu" đâu ... đầu
nhất c a tham chiếu.
A reference which refers to a pointer
CODE
int* p; //một con trỏ p bình thường
int*& r = p; //tham chiếu r là nickname mới c a p
int a=7;int b=5;
cout<<maximum(a,b);...
...
prototype template function
Chuẩn bị một tập tin tên là “array.h”
CODE
#ifndef ARRAY_H
#define ARRAY_H
LẬPTRÌNH C/ C++ NÂNG CAO
Yêu c u trư c khi đ c: h c xong Lậptrình C/ C++ c n bản
BÀI ... đề ph c tạp hơn nhiều. Ví dụ nếu là mảng cc Person là
đụng thêm vấn đề c p phát bộ nhớ nữa
Giải quyết
Chương trình dưới đây trình bày c ch tạo một lớp mảng template, với đủ cc
ch c năng ... mẫu cho hàm template)
(H c mấy c i điên đầu này làm gì nhỉ ? Làm gì à ? Hãy thử cho hai c u thủ
trong một game đá banh đối diện nhau. Họ c bao
nhiêu hành động c thể làm đư c l c đó ? Chuyền...
...
project kèm makefile để biên dịch trong môi trường *nix
hết.
Viết operator overload và copy constructor
Trong phần trư c ta đã xem cc ví dụ dùng c ch “tham chiếu mà tham chiếu
đến con trỏ” ... makefile. Trong trường bọn tôi chủ
yếu làm vi c bằng GCC và VI trong *nix chứ không phải Window. Vi c sử
dụng cc bộ Visual Studio tuy không bị c m nhưng
không đư c khuyến khích. Và bài tập lẫn bài ... mẫu c a
hàm, ta phải làm ngư c lại. Kĩ thuật này hiểu và ứng dụng cc kì r c rối
nhưng khổ nỗi lại áp dụng rất nhiều về sau, đ c biệt khi
làm cc game lớn.
Biên dịch lại mã này với GCC
Không...