Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 142 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
142
Dung lượng
433,5 KB
Nội dung
CHơNG CáC KHáI NIệM Cơ Sở LậP TRìNH HớNG ĐốI TợNG Chơng trình bày vấn đề sau: Thảo luận cách tiếp cận hớng đối tợng, nhợc điểm lập trình truyền thống đặc điểm lập trình hớng đối tợng Các khái niệm sở phơng pháp hớng đối tợng: Đối tợng Lớp Trừu tợng hóa liệu bao gói thông tin Kế thừa Tơng ứng bội Liên kết động Truyền thông báo Các bớc cần thiết để thiết kế chơng trình theo hớng đối tợng Các u điểm lập trình hớng đối tợng Các ngôn ngữ hớng đối tợng Một số ứng dụng lập trình hớng đối tợng 1.1 Giới thiệu 1.1.1 Tiếp cận hớng đối tợng Trong giới thực, chung quanh đối tợng, thực thể có mối quan hệ với Ví dụ phòng công ty kinh doanh đợc xem nh đối tợng Các phòng là: phòng quản lý, phòng bán hàng, phòng kế toán, phòng tiếp thị, Mỗi phòng cán đảm nhiệm công việc cụ thể, có liệu riêng nh thông tin nhân viên, doanh số bán hàng, liệu khác có liên quan đến phận Việc phân chia phòng chức công ty tạo điều kiện dễ dàng cho việc quản lý hoạt động Mỗi nhân viên phòng điều khiển xử lý liệu phòng Ví dụ phòng kế toán phụ trách lơng bổng nhân viên công ty Nếu bạn phận tiếp thị cần tìm thông tin chi tiết lơng đơn vị gởi yêu cầu phòng kế toán Với cách làm bạn đợc đảm bảo có nhân viên phận kế toán đợc quyền truy cập liệu cung cấp thông tin cho bạn Điều cho thấy rằng, ngời thuộc phận khác truy cập thay đổi liệu phận kế toán Khái niệm nh đối tợng hầu nh đợc mở rộng lĩnh vực đời sống xã hội - việc tổ chức chơng trình Mọi ứng dụng đợc định nghĩa nh tập thực thể - đối tợng, cho trình tái tạo suy nghĩa gần sát giới thực Trong phần xem xét phơng pháp lập trình truyền thống để từ thấy cần chuyển sang phơng pháp lập trình hớng đối tợng 1.1.2 Những nhợc điểm lập trình hớng thủ tục Cách tiếp cận lập trình truyền thống lập trình hớng thủ tục (LTHTT) Theo cách tiếp cận hệ thống phần mềm đợc xem nh dãy công việc cần thực nh đọc liệu, tính toán, xử lý, lập báo cáo in ấn kết v.v Mỗi công việc đợc thực số hàm định Nh trọng tâm cách tiếp cận hàm chức LTHTT sử dụng kỹ thuật phân rã hàm chức theo cách tiếp cận xuống (top-down) để tạo cấu trúc phân cấp Các ngôn ngữ lập trình bậc cao nh COBOL, FORTRAN, PASCAL, C, v.v , ngôn ngữ lập trình hớng thủ tục Những nhợc điểm LTHTT là: Chơng trình khó kiểm soát khó khăn việc bổ sung, nâng cấp chơng trình Chơng trình đợc xây dựng theo cách TCHTT thực chất danh sách câu lệnh mà theo máy tính cần thực Danh sách lệnh đợc tổ chức thành nhóm theo đơn vị cấu trúc ngôn ngữ lập trình đợc gọi hàm/thủ tục Trong chơng trình có nhiều hàm/thủ tục, thờng có nhiều thành phần liệu quan trọng đợc khai báo tổng thể (global) để hàm/thủ tục truy nhập, đọc làm thay đổi giá trị biến tổng thể Điều làm cho chơng trình khó kiểm soát, chơng trình lớn, phức tạp vấn đề trở nên khó khăn Khi ta muốn thay đổi, bổ sung cấu trúc liệu dùng chung cho số hàm/thủ tục phải thay đổi hầu nh tất hàm/thủ tục liên quan đến liệu Mô hình đợc xây dựng theo cách tiếp cận hớng thủ tục không mô tả đợc đầy đủ, trung thực hệ thống thực tế Phơng pháp TCHTT đặt trọng tâm vào hàm hớng tới hoạt động không thực tơng ứng với thực thể hệ thống giới thực 1.1.3 Lập trình hớng đối tợng Lập trình hớng đối tợng (Object Oriented Programming - LTHĐT) phơng pháp lập trình lấy đối tợng làm tảng để xây dựng thuật giải, xây dựng chơng trình Đối tợng đợc xây dựng sở gắn cấu trúc liệu với phơng thức (các hàm/thủ tục) thể đợc cách mà suy nghĩ, bao quát giới thực LTHĐT cho phép ta kết hợp tri thức bao quát trình với khái niệm trừu tợng đợc sử dụng máy tính Điểm phơng pháp LTHĐT thiết kế chơng trình xoay quanh liệu hệ thống Nghĩa thao tác xử lý hệ thống đợc gắn liền với liệu nh có thay đổi cấu trúc liệu ảnh hởng đến số phơng thức xử lý liên quan LTHĐT không cho phép liệu chuyển động tự hệ thống Dữ liệu đợc gắn chặt với phơng thức thành vùng riêng mà phơng thức tác động lên đợc bảo vệ để cấm việc truy nhập tùy tiện từ bên LTHĐT cho phép phân tích toán thành tập thực thể đợc gọi đối tợng sau xây dựng liệu với phơng thức xung quanh đối tợng Tóm lại LTHĐT có đặc tính chủ yếu nh sau: Tập trung vào liệu thay cho phơng thức Chơng trình đợc chia thành lớp đối tợng Các cấu trúc liệu đợc thiết kế cho đặc tả đợc đối tợng Các phơng thức xác định vùng liệu đối tợng đợc gắn với cấu trúc liệu Dữ liệu đợc bao bọc, che dấu không cho phép thành phần bên truy nhập tự Các đối tợng trao đổi với thông qua phơng thức Dữ liệu phơng thức dễ dàng bổ sung vào đối tợng cần thiết Chơng trình đợc thiết kế theo kiểu dới-lên (bottom-up) 1.2 Các khái niệm lập trình hớng đối tợng Những khái niệm LTHĐT bao gồm: Đối tợng; Lớp; Trừu tợng hóa liệu, bao gói thông tin; Kế thừa; Tơng ứng bội; Liên kết động; Truyền thông báo 1.2.1 Đối tợng Trong giới thực, khái niệm đối tợng đợc hiểu nh thực thể, ngời, vật bảng liệu cần xử lý chơng trình, Trong LTHĐT đối tợng biến thể lớp 1.2.2 Lớp Lớp khái niệm LTHĐT so với kỹ thuật LTHTT Nó mẫu mô tả thông tin cấu trúc liệu thao tác hợp lệ phần tử liệu Khi phần tử liệu đợc khai báo phần tử lớp đợc gọi đối tợng Các hàm đợc định nghĩa hợp lệ lớp đợc gọi phơng thức (method) chúng hàm xử lý liệu đối tợng lớp Mỗi đối tợng có riêng cho phần tử liệu lớp Mỗi lớp bao gồm: danh sách thuộc tính (attribute) danh sách phơng thức để xử lý thuộc tính Công thức phản ánh chất kỹ thuật LTHĐT là: Đối tợng = Dữ liệu + Phơng thức Chẳng hạn, xét lớp HINH_CN bao gồm thuộc tính: (x1,y1) toạ độ góc bên trái, d,r chiều dài chiều rộng HINH_CN Các phơng thức nhập số liệu cho HINH_CN, hàm tính diện tích, chu vi hàm hiển thị Lớp HINH_CN đợc mô tả nh sau: HINH_CN Thuộc tính : x1,y1 d,r Phơng thức : Nhập_sl Diện tích Chu vi Hiển thị Hình 2.2 Mô tả lớp HINH_CN Chú ý: Trong LTHĐT lớp khái niệm tĩnh, nhận biết từ văn chơng trình, ngợc lại đối tợng khái niệm động, đợc xác định nhớ máy tính, nơi đối tợng chiếm vùng nhớ lúc thực chơng trình Đối tợng đợc tạo để xử lý thông tin, thực nhiệm vụ đợc thiết kế, sau bị hủy bỏ đối tợng hết vai trò 1.2.3 Trừu tợng hóa liệu bao gói thông tin Trừu tợng hóa cách biểu diễn đặc tính bỏ qua chi tiết vụn vặt giải thích Khi xây dựng lớp, ta phải sử dụng khái niệm trừu tợng hóa Ví dụ ta định nghĩa lớp để mô tả đối tợng không gian hình học bao gồm thuộc tính trừu tợng nh kích thớc, hình dáng, màu sắc phơng thức xác định thuộc tính Việc đóng gói liệu phơng thức vào đơn vị cấu trúc lớp đợc xem nh nguyên tắc bao gói thông tin Dữ liệu đợc tổ chức cho giới bên (các đối tợng lớp khác) không truy nhập vào, mà cho phép phơng thức lớp lớp có quan hệ kế thừa với đợc quyền truy nhập Chính phơng thức lớp đóng vai trò nh giao diện liệu đối tợng phần lại chơng trình Nguyên tắc bao gói liệu để ngăn cấm truy nhập trực tiếp lập trình đợc gọi che giấu thông tin 1.2.4 Kế thừa Kế thừa trình mà đối tợng lớp đợc quyền sử dụng số tính chất đối tợng lớp khác Sự kế thừa cho phép ta định nghĩa lớp sở lớp tồn Lớp này, thành phần đợc kế thừa, có thêm thuộc tính hàm Nguyên lý kế thừa hỗ trợ cho việc tạo cấu trúc phân cấp lớp 1.2.5 Tơng ứng bội Tơng ứng bội khả khái niệm (chẳng hạn phép toán) sử dụng với nhiều chức khác Ví dụ, phép + biểu diễn cho phép cộng số nguyên (int), số thực (float), số phức (complex) xâu ký tự (string) v.v Hành vi phép toán tơng ứng bội phụ thuộc vào kiểu liệu mà sử dụng để xử lý Tơng ứng bội đóng vai quan trọng việc tạo đối tợng có cấu trúc bên khác nhng dùng chung giao diện bên (chẳng hạn tên gọi) 1.2.6 Liên kết động Liên kết động dạng liên kết thủ tục hàm chơng trình thực lời gọi tới hàm, thủ tục Nh liên kết động, nội dung đoạn chơng trình ứng với thủ tục, hàm không đợc biết thực lời gọi tới thủ tục, hàm 1.2.7 Truyền thông báo Các đối tợng gửi nhận thông tin với giống nh ngời trao đổi với Chính nguyên lý trao đổi thông tin cách truyền thông báo cho phép ta dễ dàng xây dựng đợc hệ thống mô gần hệ thống giới thực Truyền thông báo cho đối tợng yêu cầu đối tợng thực việc Cách ứng xử đối tợng đợc mô tả bên lớp thông qua phơng thức Trong chơng trình, thông báo gửi đến cho đối tợng yêu cầu thực công việc cụ thể, nghĩa sử dụng hàm tơng ứng để xử lý liệu đợc khai báo đối tợng Vì vậy, thông báo phải đợc hàm cần thực đối tợng nhận thông báo Thông báo truyền phải xác định tên đối tợng thông tin truyền Ví dụ, lớp CONGNHAN đối tợng cụ thể đợc đại diện Hoten nhận đợc thông báo cần tính lơng thông qua hàm TINHLUONG đợc xác định lớp CONGNHAN Thông báo đợc xử lý nh sau: CONGNHAN.TINHLUONG (Hoten) Trong chơng trình hớng đối tợng, đối tợng tồn thời gian Đối tợng Thông báo Thông tin định Đối tợng đợc tạo đợc khai báo bị hủy bỏ chơng trình khỏi miền xác định đối tợng Sự trao đổi thông tin thực thời gian đối tợng tồn 1.3 Các bớc cần thiết để thiết kế chơng trình theo hớng đối tợng Chơng trình theo hớng đối tợng bao gồm tập đối tợng mối quan hệ đối tợng với Vì vậy, lập trình ngôn ngữ hớng đối tợng bao gồm bớc sau: Xác định dạng đối tợng (lớp) tóan Tìm kiếm đặc tính chung (dữ liệu chung) dạng đối tợng này, chúng chia xẻ Xác định lớp sở dựa đặc tính chung dạng đối tợng Từ lớp sở, xây dựng lớp dẫn xuất chứa thành phần, đặc tính không chung lại dạng đối tợng Ngoài ra, ta đa lớp có quan hệ với lớp sở lớp dẫn xuất 1.4 Các u điểm lập trình hớng đối tợng Cách tiếp cận hớng đối tợng giải đợc nhiều vấn đề tồn trình phát triển phần mềm tạo đợc sản phẩm phần mềm có chất lợng cao Những u điểm LTHĐT là: Thông qua nguyên lý kế thừa, loại bỏ đợc đoạn chơng trình lặp lại trình mô tả lớp mở rộng khả sử dụng lớp đợc xây dựng Chơng trình đợc xây dựng từ đơn thể (đối tợng) trao đổi với nên việc thiết kế lập trình đợc thực theo quy trình định dựa vào kinh nghiệm kỹ thuật nh trớc Điều đảm bảo rút ngắn đợc thời gian xây dựng hệ thống tăng suất lao động Nguyên lý che giấu thông tin giúp ngời lập trình tạo đợc chơng trình an toàn không bị thay đoạn chơng trình khác Có thể xây dựng đợc ánh xạ đối tợng toán vào đối tợng chơng trình Cách tiếp cận thiết kế đặt trọng tâm vào đối tợng, giúp xây dựng đợc mô hình chi tiết gần với dạng cài đặt Những hệ thống hớng đối tợng dễ mở rộng, nâng cấp thành hệ lớn Kỹ thuật truyền thông báo việc trao đổi thông tin đối tợng giúp cho việc mô tả giao diện với hệ thống bên trở nên đơn giản Có thể quản lý đợc độ phức tạp sản phẩm phần mềm Không phải hệ thống hớng đối tợng có tất tính chất nêu Khả có tính chất phụ thuộc vào lĩnh vực ứng dụng dự án tin học vào phơng pháp thực ngời phát triển phần mềm 1.5 Các ngôn ngữ hớng đối tợng Lập trình hớng đối tợng không đặc quyền ngôn ngữ đặc biệt Cũng giống nh lập trình có cấu trúc, khái niệm lập trình hớng đối tợng cài đặt ngôn ngữ lập trình nh C Pascal, Tuy nhiên, chơng trình lớn vấn đề lập trình trở nên phức tạp Những ngôn ngữ đợc thiết kế đặc biệt, hỗ trợ cho việc mô tả, cài đặt khái niệm phơng pháp hớng đối tợng đợc gọi chung ngôn ngữ đối tợng Dựa vào khả đáp ứng khái niệm hớng đối tợng, ta chia làm hai loại: Ngôn ngữ lập trình dựa đối tợng Ngôn ngữ lập trình hớng đối tợng Lập trình dựa đối tợng kiểu lập trình hỗ trợ cho việc bao gói, che giấu thông tin định danh đối tợng Lập trình dựa đối tợng có đặc tính sau: Bao gói liệu Cơ chế che giấu truy nhập liệu Tự động tạo lập xóa bỏ đối tợng Phép toán tải bội Ngôn ngữ hỗ trợ cho kiểu lập trình đợc gọi ngôn ngữ lập trình dựa đối tợng Ngôn ngữ lớp không hỗ trợ cho việc thực kế thừa liên kết động, chẳng hạn Ada ngôn ngữ lập trình dựa đối tợng Lập trình hớng đối tợng kiểu lập trình dựa đối tợng bổ sung thêm nhiều cấu trúc để cài đặt quan hệ kế thừa liên kết động Vì đặc tính LTHĐT viết cách ngắn gọn nh sau: Các đặc tính dựa đối tợng + kế thừa + liên kết động Ngôn ngữ hỗ trợ cho đặc tính đợc gọi ngôn ngữ LTHĐT, ví dụ nh C++, Smalltalk, Object Pascal v.v Việc chọn ngôn ngữ để cài đặt phần mềm phụ thuộc nhiều vào đặc tính yêu cầu toán ứng dụng, vào khả sử dụng lại chơng trình có vào tổ chức nhóm tham gia xây dựng phần mềm 1.6 Một số ứng dụng LTHĐT LTHĐT đợc ứng dụng để phát triển phần mềm nhiều lĩnh vực khác Trong số đó, có ứng dụng quan trọng tiếng hệ điều hành Windows hãng Microsoft đợc phát triển dựa kỹ thuật LTHĐT Một số lĩnh vực ứng dụng kỹ thuật LTHĐT bao gồm: + Những hệ thống làm việc theo thời gian thực + Trong lĩnh vực mô hình hóa mô trình + Các sở liệu hớng đối tợng + Những hệ siêu văn bản, multimedia + Lĩnh vực trí tuệ nhân tạo hệ chuyên gia + Lập trình song song mạng nơ-ron + Những hệ tự động hóa văn phòng trợ giúp định Chơng mở rộng ngôn ngữ C++ Chơng trình bày vấn đề sau đây: Giới thiệu chung ngôn ngữ C++ Một số mở rộng ngôn ngữ C++ so với ngôn ngữ C Các đặc tính C++ hỗ trợ lập trình hớng đối tợng Vào C++ Cấp phát giải phóng nhớ Biến tham chiếu, tham chiếu Truyền tham số cho hàm theo tham chiếu Hàm trả giá trị tham chiếu Hàm với đối số có giá trị mặc định Các hàm nội tuyến (inline) Hàm tải bội 2.1 Giới thiệu chung C++ C++ ngôn ngữ lập trình hớng đối tợng mở rộng ngôn ngữ C Vì khái niệm C dùng đợc C++ Phần lớn chơng trình C chạy đợc C++ Trong chơng tập trung giới thiệu khái niệm, đặc tính C++ hỗ trợ cho lập trình hớng đối tợng Một số kiến thức có C++ nhng có ngôn ngữ C không đợc trình bày lại 2.2 Một số mở rộng C++ so với C 2.2.1 Đặt lời thích Ngoài kiểu thích C /* */ , C++ đa thêm kiểu thích thứ hai, thích bắt đầu // Nói chung, kiểu thích /* */ đợc dùng cho khối thích lớn gồm nhiều dòng, kiểu // đợc dùng cho thích dòng Ví dụ: /* Đây thích C */ // Đây thích C++ 2.2.2 Khai báo biến Trong C tất câu lệnh khai báo biến, mảng cục phải đặt đầu khối Vì vị trí khai báo vị trí sử dụng biến cách xa nhau, điều gây khó khăn việc kiểm soát chơng trình C++ khắc phục nhợc điểm cách cho phép lệnh khai báo biến đặt chỗ chơng trình trớc biến đợc sử dụng Phạm vi hoạt động biến kiểu khối biến đợc khai báo Ví dụ 2.1 Chơng trình sau nhập dãy số thực xếp theo thứ tự tăng dần: #include #include #include void main() { int n; printf("\n So phan tu cua day N="); scanf("%d",&n); float *x=(float*)malloc((n+1)*sizeof(float)); for (int i=0;i> đợc sử dụng nh sau để đọc liệu từ dòng cin: cin>> biến; Để nhập giá trị nhiều biến dòng lệnh ta dùng cú pháp sau: cin>>biến 1>>biến 2>> >>biến n; 128 1.3 Nhập ký tự chuỗi ký tự Có thể dùng phơng thức sau (định nghĩa lớp istream) để nhập ký tự chuỗi: cin.get cin.getline cin.ignore 1.3.1 Phơng thức get() có dạng: Dạng 1: int cin.get(); Dùng để đọc ký tự (kể khoảng trắng) Dạng 2: istream& cin.get(char &ch); Dùng để đọc ký tự (kể khoảng trắng) đặt vào biến kiểu char đợc tham chiếu ch Dạng 3: istream& cin.get(char *str, int n, char d = \n); Dùng để đọc dãy ký tự (kể khoảng trắng) đa vào vùng nhớ str trỏ tới Quá trình đọc kết thúc xảy hai tình sau: + Gặp ký tự giới hạn (cho d) Ký tự giới hạn mặc định \n + Đã nhận đủ (n-1) ký tự Chú ý: + Ký tự kết thúc chuỗi \0 đợc bổ sung vào cuối chuối nhận đợc + Ký tự giới hạn lại dòng nhập để dành cho lệnh nhận + Ký tự lại dòng nhập làm trôi phơng thức get() dạng Ví dụ: Xét đoạn chơng trình: char hoten[25], diachi[50], quequan[30] ; cout[...]... (public) để quy định phạm vi sử dụng của các thành phần Nếu không quy định cụ thể (không dùng các từ khóa private và public) thì C++ hiểu đó là private Các thành phần private chỉ đợc sử dụng bên trong lớp (trong thân của các hàm thành phần) Các thành phần public đợc phép sử dụng ở cả bên trong và bên ngoài lớp Các hàm không phải là hàm thành phần của lớp thì không đợc phép sử dụng các thành phần này 33... Ví dụ: int y=12, z; const int &p = y //Hằng tham chiếu p tham chiếu đến biến y p = p + 1; //Sai, trình biên dịch sẽ thông báo lỗi Hằng tham chiếu cho phép sử dụng giá trị chứa trong một vùng nhớ, nhng không cho phép thay đổi giá trị này Hằng tham chiếu thờng đợc sử dụng làm đối số của hàm để cho phép sử dụng giá trị của các tham số trong lời gọi hàm, nhng tránh làm thay đổi giá trị tham số 2.7 Truyền... chơng trình thực hiện các yêu cầu sau đây: - Nhập dữ liệu cho các sinh viên (dùng cấu trúc danh sách liên kết đơn), các thông tin của sinh viên bao gồm: mã sinh viên, họ tên, lớp, điểm trung bình - Chơng trình có sử dụng toán tử new và delete - In ra danh sách sinh viên có sắp xếp vị thứ theo điểm trung bình 2 Viết chơng trình để sắp xếp một mảng thực hai chiều theo thứ tự tăng dần, trong chơng trình. .. vậy chỉ nên dùng hàm inline đối với các hàm có nội dung đơn giản Không phải khi gặp từ khoá inline là chơng trình dịch nhất thiết phải xử lý hàm theo kiểu nội tuyến Từ khoá inline chỉ là một từ khoá gợi ý cho chơng trình dịch chứ không phải là một mệnh lệnh bắt buộc Ví dụ 2.14 Chong trình sau sử dụng hàm inline để tính chu vi và diện tích hình chữ nhật #include #include inline... khắc phục tình trạng trên cần dùng phơng thức cin.ignore(1) để bỏ qua một ký tự chuyển dòng Để sử dụng các loại toán tử và phơng thức nói trên cần khai báo tập tin dẫn hớng iostream.h 2.3.3 Định dạng khi in ra màn hình Để quy định số thực đợc hiển thị ra màn hình với p chữ số sau dấu chấm thập phân, ta sử dụng đồng thời các hàm sau: setiosflags(ios::showpoint); // Bật cờ hiệu showpoint(p) setprecision(p);... 5 dong getch(); } 2.10 Các hàm nội tuyến (inline) Việc tổ chức chơng trình thành các hàm có u điểm chơng trình đợc chia thành các đơn vị độc lập, điều này giảm đợc kích thớc chơng trình, vì mỗi đoạn chong trình thực hiện nhiệm vụ của hàm đợc thay bằng lời gọi hàm Tuy nhiên hàm cũng có nhợc điểm là làm là chậm tốc độ thực hiện chơng trình vì phải thực hiện một số thao tác có tính thủ tục mỗi khi gọi... getch(); } inline int f(int a,int b) { return a*b; } Chú ý: Chơng trình dịch các hàm inline nh tơng tự nh các macro, nghĩa là nó sẽ thay đổi lời gọi hàm bằng một đoạn chơng trình thực hiện nhiệm vụ hàm Cách làm này sẽ tăng tốc độ chơng trình do không phải thực hiện các thao tác có tính thủ tục khi gọi hàm nhng lại làm tăng khối lợng bộ nhớ chơng trình (nhất là đối với các hàm nội tuyến có nhiều câu lệnh)... chiếu có thể tham chiếu đến một phần tử mảng, nhng không cho phép khai báo mảng tham chiếu Biến tham chiếu có thể tham chiếu đến một hằng Khi đó nó sử dụng vùng nhớ của hằng và có thể làm thay đổi giá trị chứa trong vùng nhớ này Biến tham chiếu thờng đợc sử dụng làm đối của hàm để cho phép hàm truy nhập đến các tham biến trong lời gọi hàm 2.6 Hằng tham chiếu Cú pháp khai báo hằng tham chiếu nh sau: const... đối tợng biểu diễn cho thiết bị xuất chuẩn của C++ là màn hình, cout đợc sử dụng kết hợp với toán tử chèn >biến 1>> >>biến N; Toán tử cin đợc định nghĩa trớc nh một đối tợng biểu diễn cho thiết bị vào chuẩn của C++ là bàn phím, cin đợc sử dụng kết hợp với toán tử trích >> để nhập dữ liệu từ bàn phím cho các biến... thực hai chiều theo thứ tự tăng dần, trong chơng trình có có sử dụng toán tử new và delete 3 Viết các hàm tải bội để tính diện tích tam giác, diện tích hình chữ nhật, diện tích hình tròn 4 Viết chơng trình nhân hai ma trận Amxn và Bnxp , mỗi ma trân đợc cấp phát động và các giá trị của chúng phát sinh ngẫu nhiên 32 CHơNG 3 LớP Chơng này trình bày những vấn đề sau đây: Định nghĩa lớp Tạo lập đối tợng ... //Sai, trình biên dịch thông báo lỗi Hằng tham chiếu cho phép sử dụng giá trị chứa vùng nhớ, nhng không cho phép thay đổi giá trị Hằng tham chiếu thờng đợc sử dụng làm đối số hàm phép sử dụng. .. khai báo vị trí sử dụng biến cách xa nhau, điều gây khó khăn việc kiểm soát chơng trình C++ khắc phục nhợc điểm cách cho phép lệnh khai báo biến đặt chỗ chơng trình trớc biến đợc sử dụng Phạm vi... nhiều vào đặc tính yêu cầu toán ứng dụng, vào khả sử dụng lại chơng trình có vào tổ chức nhóm tham gia xây dựng phần mềm 1.6 Một số ứng dụng LTHĐT LTHĐT đợc ứng dụng để phát triển phần mềm nhiều