Lập trình hướng đối tượng
1
Hà Văn Sang Bộ môn: Tin học TC – KT Khoa: Hệ Thống Thông Tin Kinh tế - Học Viện Tài Chính Tel: 0982.165.568 Email: sanghv@hvtc.edu.vn Website: http://www.hvtc.edu.vn/sanghv 19/11/15 15:46
19/11/15 15:46
2
CHƯƠNG II
1. Lịch sử của C++
C++ được xây dựng trên nền của C
ượ ở C đ c phát minh b i Dennis Ritchie năm 1972
ể ế ệ ề C dùng đ vi t h đi u hành UNIX
ử ủ ề ắ ớ ị L ch s c a C và Unix g n li n v i nhau
3/20
19/11/15 15:46
ượ ớ UNIX đ c hoàn thành v i C
1. Lịch sử của C++ (tiếp)
C++ được đưa ra bởi Bjarne Stroustrup
ắ ả ớ Phiên b n đ u tiên ra m t năm 1980, v i tên
ầ “C with class”
ả ươ ạ ầ Phiên b n th ng m i đ u tiên vào năm 1985
ư ả Ansi và ISO đ a ra phiên b n C++ chu n ẩ
4/20
19/11/15 15:46
ướ ố ượ C++ h tr l p trình h ỗ ợ ậ ng đ i t ng
1. Lịch sử của C++ (tiếp)
Ưu điểm:
ượ ộ Đ c s d ng r ng rãi ử ụ
ự ở ộ ủ Là s m r ng c a C
ỗ ợ ậ ướ ố ượ H tr l p trình h ng đ i t ng
5/20
19/11/15 15:46
ư ệ ề ẫ ẩ Có nhi u th vi n m u chu n STL
2. Mở rộng của C++
Một số mở rộng của C++ so với C:
ấ ả ơ ỉ Đ n gi n ch là 2 d u ++?
ừ T khóa m i ớ
ữ ệ D li u, khai báo bi n ế
6/20
19/11/15 15:46
ể ể ấ ộ ớ Chuy n ki u, tham chi u, c p phát b nh … ế
2.1. Lời chú thích
Có hai cách chú thích:
Cách 1: /* ..*/
ụ Ví d : /* chu thich tren
nhieu dong*/
Cách 2: //
7/20
19/11/15 15:46
ụ Ví d : // Chu thich tren mot dong
2.2. Từ khóa mới
asm
catch
class
delete
friend
inline
new
operator
private
protected
public
template
this
throw
try
virtual
Một số từ khóa mới:
ế ằ ng trình viêt b ng C có tên trùng
8/20
19/11/15 15:46
•N u trong ch ươ thay đ i l ổ ạ i
2.3. Kiểu dữ liệu char và int
Dữ liệu kiểu char:
sizeof(‘A’)=sizeof(int)=2
sizeof(‘A’)=sizeof(char)=1
ằ ự Trong C h ng kí t có ki u ể int 2 byte
9/20
19/11/15 15:46
ằ ự Trong C++ h ng kí t có ki u ể char 1 byte
2.4. Khai báo biến
C++ cho phép khai báo biến:
• Tại bất cứ đâu
• Trước khi sử dụng
ạ ươ ng trình k t ể ừ ị v
ệ ệ ự Có hi u l c trong ph m vi ch ấ trí nó xu t hi n
10/20
19/11/15 15:46
ố ớ ụ ấ Ví d : tìm s l n nh t trong dãy
2.5. Chuyển đổi và ép kiểu
C++ cho phép chuyển kiểu rộng rãi:
1. Khi gán giá trị số vào biến kiểu khác
2. Các kiểu số khác nhau trong cùng 1 biểu thức
ể ể Ép ki u ki u cũ: myInt = (int) myFloat
ể ể ớ Ép ki u ki u m i: myInt = int (myFloat)
11/20
19/11/15 15:46
ụ Ví d : S=1+1/2+..+1/n
2.6. Vào ra trong C++
Dòng xuất, nhập dữ liệu:
Cú pháp:
cout< ế ế ế cin>>bi n1>>bi n..>>bi nn; Chú ý:
ả #include ể ỏ ự Ph i khai báo
Dùng cin.ignore(1) đ b kí t 12/20 19/11/15
15:46 ụ ậ ố ‘\n’
ổ Ví d : nh p 2 s sau đó in ra t ng và tích ử ụ ử C++ s d ng thêm hai toán t : ể ấ ộ ớ new: đ c p phát b nh Cú pháp: new tên_ki uể ể ả ộ ớ delete: đ gi i phóng b nh 13/20 19/11/15
15:46 Cú pháp: delete con_trỏ ư ộ ủ ế ố Gi ng nh m t bí danh c a bi n khác ự ế ế ượ c ế ể ế x=1; // a=1 cout< x++; //a=2 a++; //a=3 14/20 19/11/15
15:46 Cho phép hàm thao tác tr c ti p trên bi n đ
truy nề
ế
Cú pháp: Ki u &Bi nthamchi u = Bi n;
Ví dụ: int a, &x=a; ế ể ế ằ ằ const Ki u &h ngthamchi u = Bi n(h ng); ụ Ví d : int n=10; 15/20 19/11/15
15:46 const int &m = n; Là các hàm có cùng tên nhưng đối số khác nhau ự ặ ọ ị Khi g p hàm này, trình biên d ch g i hàm d a vào: ố ượ ố ố S l ng đ i s ố ố ể ủ
Ki u c a đ i s 16/20 19/11/15
15:46 ố ự ụ ủ ố Ví d : tìm max c a dãy s nguyên, s th c n 2 S ... 1 (cid:0) (cid:0) (cid:0) (cid:0) (cid:0) x
n x
3 x
2 1 • Sử dụng TC++ để lập trình:
1. Làm lại các bài tập ở tuần 1 với cout và cin
2. Viết chương trình tính:
3. Nhập ma trận thực cấp mxn:
- Tìm phần tử lớn nhất
- Sắp xếp tăng dần
- In ma trận sau khi đã sắp xếp 17/20 19/11/15
15:46 (cid:0) In • Sử dụng TC++ để lập trình:
4. Xây dựng chương trình thao tác với phân số:
nhập, in, tối giản, cộng, tích hai phân số
5. Xây dựng chương trình thao tác với vec tơ:
- Nhập 2 vec tơ
-
- Tính tổng, tích hai vectơ 18/20 19/11/15
15:46 Gửi tới địa chỉ: sanghv@gmail.com
CC: sanghv@hvtc.edu.vn
Tiêu đề:
[Lớp][BT2][Stt][Họ và tên]
Ví dụ:
[K43/41.01][BT2][14][Lê hoàng Vũ]
Hạn nộp: 23h59’ ngày 22/01/2008 19/20 19/11/15
15:462.7. Cấp phát và giải phóng bộ nhớ
Vẫn có thể dùng hàm malloc(), calloc(), free()
2.8. Biến tham chiếu
Khái niệm:
2.9. Hằng tham chiếu
Cú pháp:
2.10. Hàm đa năng
Bài tập (week 2)
Bài tập (week 2-tiếp)
Qui cách nộp bài