Bài giảng Kỹ thuật lập trình: Bài 8 do TS. Đào Trung Kiên biên soạn trình bày các nội dung sau: Giới thiệu C++, khái niệm mới ít nhỏ hơn, chương trình C++ đầu tiên, lớp và đối tượng, phạm vi của các thành phần, khai báo và sử dụng lớp,...
Bài 8: Lập trình hướng đối tượng EE3490: Kỹ thuật lập trình – HK1 2017/2018 TS Đào Trung Kiên – ĐH Bách khoa Hà Nội Giới thiệu C++ EE3490: Kỹ thuật lập trình – HK1 2017/2018 TS Đào Trung Kiên – ĐH Bách khoa Hà Nội Sơ lược C++ Bổ sung tính so với C: Hướng đối tượng (OOP) Lập trình khái quát (template) Nhiều thay đổi nhỏ khác Một số thay đổi nhỏ: File mã nguồn thường dùng cpp Hàm main() có kiểu trả void: void main() { … } Dùng // để thích đến hết dịng: dien_tich = PI*r*r; // PI = 3.14 Có sẵn kiểu bool giá trị false, true: bool b1 = true, b2 = false; Biến, C++ khai báo đâu hàm (không giới hạn đầu hàm C), kể vòng lặp for Phép chuyển kiểu viết cú pháp gọi hàm: int(5.32) Khơng cần thêm từ khố enum, struct, union khai báo biến EE3490: Kỹ thuật lập trình – HK1 2017/2018 TS Đào Trung Kiên – ĐH Bách khoa Hà Nội Vài khái niệm nhỏ hơn… Kiểu tham chiếu (reference) : có chất trỏ int a = 5; int& b = a; b = 10; // a int& foo(int& x) { x = 2; return int y = 1; foo(y); foo(y) = 3; = 10 x; } // y = // y = Namespace namespace ABC { int x; int setX(int y) } { x = y; } ABC::setX(20); int z = ABC::x; using namespace ABC; setX(40); EE3490: Kỹ thuật lập trình – HK1 2017/2018 TS Đào Trung Kiên – ĐH Bách khoa Hà Nội Vài khái niệm nhỏ hơn… (tiếp) Cấp phát nhớ động Dùng toán tử new new[] để cấp phát Toán tử delete delete[] để huỷ delete a; delete[] c; Chú ý: không dùng lẫn lộn malloc()/free() với new/delete: Cấp phát malloc() phải dùng free() để huỷ Cấp phát new phải dùng delete để huỷ Định nghĩa chồng hàm (hàm tên, khác tham số): int* a = new int; float* b = new float(5.23f); long* c = new long[5]; int sum(int a, int b) int sum(int a, int b, int c) double sum(double a, double b) double sum(double a, double b, double c) Xử lý ngoại lệ try catch: tự tìm hiểu thêm { } { } { } { } EE3490: Kỹ thuật lập trình – HK1 2017/2018 TS Đào Trung Kiên – ĐH Bách khoa Hà Nội Chương trình C++ Chương trình ví dụ: #include using namespace std; void main() { int n; cout > n; cout