Lập trình hướng đối tượng C/C++ - OOP 01 advanced programming techniques

23 533 4
Lập trình hướng đối tượng C/C++ - OOP 01 advanced programming techniques

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Lập trình hướng đối tượng C/C++ - OOP 01 advanced programming techniques

KỹKỹ thuậtthuật lậplập trìnhtrình nângnâng caocao GV. GV. NguyễnNguyễn Minh Minh HuyHuy KỹKỹ thuậtthuật lậplập trìnhtrình nângnâng caocao 1Phương pháp lập trình hướng đối tượng - Nguyễn Minh Huy NộiNội dungdung  ChuẩnChuẩn vàvà quyquy ướcước lậplập trìnhtrình  NạpNạp chồngchồng hàmhàm  Con Con trỏtrỏ hàmhàm  Function Template.Function Template. 2Phương pháp lập trình hướng đối tượng - Nguyễn Minh Huy NộiNội dungdung  ChuẩnChuẩn vàvà quyquy ướcước lậplập trìnhtrình  NạpNạp chồngchồng hàmhàm  Con Con trỏtrỏ hàmhàm  Function Template.Function Template. 3Phương pháp lập trình hướng đối tượng - Nguyễn Minh Huy Chuẩn và quy ước lập trìnhChuẩn và quy ước lập trình  Vì sao phải có chuẩn và quy ước?Vì sao phải có chuẩn và quy ước?  Làm việc một mình:Làm việc một mình:  Tự làm tự hiểu.Tự làm tự hiểu.  Mình luôn hiểu mình?Mình luôn hiểu mình? Làm việc nhóm:Làm việc nhóm: 4Phương pháp lập trình hướng đối tượng – GV. Nguyễn Minh Huy  Làm việc nhóm:Làm việc nhóm:  Mỗi người một việc.Mỗi người một việc.  Ráp nối công việc.Ráp nối công việc.  Mọi người luôn hiểu nhau?Mọi người luôn hiểu nhau? Phối hợp công việc hiệu quả Áp đặt kỷ luật!! Chuẩn và quy ước lập trìnhChuẩn và quy ước lập trình  KhôngKhông cócó chuẩnchuẩn chungchung toàntoàn thếthế giớigiới!!!!  QuyQuy ướcước đặtđặt têntên (Naming Convention):(Naming Convention):  QuyQuy tắctắc vàngvàng: : têntên phảiphải thểthể hiệnhiện ý ý nghĩanghĩa  x, y, f, x, y, f, g g  khôngkhông rõrõ nghĩanghĩa  total, rate, create, total, rate, create, run run  rõrõ nghĩanghĩa 5Phương pháp lập trình hướng đối tượng – GV. Nguyễn Minh Huy  QuyQuy tắctắc đặtđặt têntên theotheo kiểukiểu ““lạclạc đàđà” (Camel Case)” (Camel Case)  DùngDùng đểđể viếtviết cáccác từtừ dínhdính liềnliền nhaunhau  ViếtViết hoahoa chữchữ cáicái đầuđầu mỗimỗi từtừ  UUpperpperCCamelamelCCasease  llowerowerCCamelamelCCasease Chuẩn và quy ước lập trìnhChuẩn và quy ước lập trình  QuyQuy ướcước viếtviết câucâu lệnhlệnh::  QuyQuy tắctắc vàngvàng: : viếtviết câucâu lệnhlệnh rộngrộng rãirãi, , rõrõ ràngràng  x=x=a+ba+b c*d; for(c*d; for(intint ii=0;i<=0;i<n;in;i++); ++);  khôngkhông rõrõ ràngràng  x = a + b x = a + b –– c * d;c * d; for (for (intint ii = 0; = 0; ii < n; < n; ii++); ++);  rõrõ ràngràng  ViếtViết mỗimỗi câucâu lệnhlệnh mộtmột dòngdòng 6Phương pháp lập trình hướng đối tượng – GV. Nguyễn Minh Huy  ViếtViết mỗimỗi câucâu lệnhlệnh mộtmột dòngdòng  ViếtViết cáchcách khoảngkhoảng giữagiữa haihai đoạnđoạn lệnhlệnh  QuyQuy ướcước viếtviết chúchú thíchthích::  QuyQuy tắctắc vàngvàng: : viếtviết chúchú thíchthích đầyđầy đủđủ, , dễdễ hiểuhiểu  ViếtViết chúchú thíchthích chocho từngtừng hàmhàm  DùngDùng dấudấu // // thaythay chocho /* */./* */. NộiNội dungdung  ChuẩnChuẩn vàvà quyquy ướcước lậplập trìnhtrình  NạpNạp chồngchồng hàmhàm  Con Con trỏtrỏ hàmhàm  Function Template.Function Template. 7Phương pháp lập trình hướng đối tượng - Nguyễn Minh Huy Nạp chồng hàmNạp chồng hàm  ChữChữ kýký hàmhàm (Function Signature):(Function Signature):  PhânPhân biệtbiệt giữagiữa cáccác hàmhàm  ĐặcĐặc trưngtrưng củacủa mộtmột hàmhàm::  TênTên hàmhàm  DanhDanh sáchsách thamtham sốsố doubledouble sapXepsapXep (( intint aMangaMang [], [], intint kichThuockichThuoc );); 8Phương pháp lập trình hướng đối tượng – GV. Nguyễn Minh Huy doubledouble sapXepsapXep (( intint aMangaMang [], [], intint kichThuockichThuoc );); PhanSoPhanSo PhanSoPhanSo::cong::cong((PhanSoPhanSo pp););  GiáGiá trịtrị trảtrả vềvề khôngkhông thuộcthuộc chữchữ kýký hàmhàm!!!! Chương trình có thể có nhiều hàm cùng tên!! Nạp chồng hàmNạp chồng hàm  NhữngNhững trườngtrường hợphợp nạpnạp chồngchồng hàmhàm nàonào khôngkhông hợphợp lệlệ?? 1. 1. intint tinhToantinhToan((intint a, a, intint b);b); 2. 2. intint tinhToantinhToan((intint x, x, intint y);y); 9Phương pháp lập trình hướng đối tượng – GV. Nguyễn Minh Huy 3. 3. intint tinhToantinhToan((intint a, float b);a, float b); 4. float 4. float tinhToantinhToan((intint u, u, intint v);v); 5. 5. intint tinhToantinhToan((intint a, long b);a, long b); NộiNội dungdung  ChuẩnChuẩn vàvà quyquy ướcước lậplập trìnhtrình  NạpNạp chồngchồng hàmhàm  Con Con trỏtrỏ hàmhàm  Function Template.Function Template. 10Phương pháp lập trình hướng đối tượng - Nguyễn Minh Huy [...]... sánh hai phân s ng, nhân, chia, Phương pháp l p trình hư ng đ i tư ng - Nguy n Minh Huy 21 Bài t p Bài t p 1.2: Vi t chương trình cho phép s p x p tăng/gi m m ng phân s tăng/ Phương pháp l p trình hư ng đ i tư ng - Nguy n Minh Huy 22 Bài t p Bài t p 1.3: M rông bài 1.2, cho phép s p x p m ng phân s /s nguyên nguyên Phương pháp l p trình hư ng đ i tư ng - Nguy n Minh Huy 23 ... p trình hư ng đ i tư ng – GV Nguy n Minh Huy 18 Tóm t t Chu n và quy ư c l p trình: trình: Th ng nh t cách th c làm vi c cho hi u qu Áp đ t k lu t lên vi c l p trình trình Quy t c đ t tên: tên th hi n ý nghĩa tên: nghĩa Quy t c vi t câu l nh: r ng rãi, rõ ràng nh: rãi, ràng Quy t c vi t chú thích: đ y đ , d hi u thích: u N p ch ng hàm: hàm: Nhi u hàm cùng tên, khác tham s tên, Phương pháp l p trình. .. xuLyMang(int m[ ], int kichThuoc, int p(int, int) ) xuLyMang( kichThuoc, p(int, int) { // Cài đ t } Phương pháp l p trình hư ng đ i tư ng – GV Nguy n Minh Huy 14 N i dung Chu n và quy ư c l p trình trình N p ch ng hàm hàm Con tr hàm hàm Function Template Phương pháp l p trình hư ng đ i tư ng - Nguy n Minh Huy 15 Function Template Xét hàm tìm min gi a 2 s : Tìm min gi a 2 s 3 và 5 T ng quát 1: tìm min gi... tên, khác tham s tên, Phương pháp l p trình hư ng đ i tư ng - Nguy n Minh Huy 19 Tóm t t Con tr hàm: hàm: Tham s hóa x lý lý Hàm có cách x lý t ng quát quát Function Template: Tham s hóa ki u d li u u Hàm x lý t ng quát trên nhi u ki u khác nhau nhau Phương pháp l p trình hư ng đ i tư ng - Nguy n Minh Huy 20 Bài t p Bài t p 1.1: Vi t chương trình cho phép th c hi n các thao tác trên ki u phân s : Nh... ketQua; ketQua; } Phương pháp l p trình hư ng đ i tư ng - Nguy n Minh Huy 12 Con tr hàm Cách s d ng con tr hàm: hàm: T o hàm có cùng ch ký v i ki u hàm hàm int cong(int a, int b) cong( { return a + b; } Truy n tên hàm dư i d ng tham s void main() main() { int m[5] = {1, 2, 3, 4, 5}; int ketQua = xuLyMang(m, 5, cong); xuLyMang(m, cong); } Phương pháp l p trình hư ng đ i tư ng - Nguy n Minh Huy 13 Con tr... pháp l p trình hư ng đ i tư ng – GV Nguy n Minh Huy 16 Function Template Cách s d ng Function Template: template T timMin(T a, T b) timMin( { return (a < b) ? a : b; } void main() { int x = timMin(3, 5); timMin(3, int a = 4, b = 6; int c = timMin(a, b); timMin(a, float k = timMin(1.5, 2.3); timMin(1.5, PhanSo p1; PhanSo p2; PhanSo p3 = timMin(p1, p2); timMin(p1, } Phương pháp l p trình hư... các ph n t T ng quát 1: tính t ng, hi u các ph n t ng, Tham s hóa phép tính tính T ng quát 2: tính toán b t kỳ trên các ph n t Tham s hóa x lý tính toán toán Con tr hàm hàm Phương pháp l p trình hư ng đ i tư ng - Nguy n Minh Huy 11 Con tr hàm Cách s d ng con tr hàm: hàm: T o ki u cho hàm: t khóa typedef hàm: typedef typedef int (*PhepTinh)(int, int); (*PhepTinh)(int, int); Khai báo tham s v i ki u

Ngày đăng: 12/01/2014, 16:55

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan