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

2.7. Cấp phát và giải phóng bộ nhớ

Vẫn có thể dùng hàm malloc(), calloc(), free()

ử ụ ử 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ỏ

2.8. Biến tham chiếu

Khái niệm:

ư ộ ủ ế ố 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;

2.9. Hằng tham chiếu

Cú pháp:

ế ể ế ằ ằ 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;

2.10. Hàm đa năng

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

Bài tập (week 2)

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)

Bài tập (week 2-tiếp)

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

Qui cách nộp bài

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:46