Lập trình hướng đối tượng - Chương 8: Structures

Truyền thành viên của cấu trúc vào hàm: Có 2 cách truyền Truyền tham trị: Khi truyền 1 thành phần của 1 cấu trúc vào 1 hàm, thực chất là truyền giá trị của thành phần đó cho tham số hình thức của hàm. Truyền tham chiếu: Để thực hiện việc truyền tham chiếu, ta phải đặt dấu “&” trước tên của thành phần được truyền.

pptx29 trang | Chia sẻ: huyhoang44 | Lượt xem: 751 | Lượt tải: 0download
Bạn đang xem trước 20 trang tài liệu Lập trình hướng đối tượng - Chương 8: Structures, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
Chương 8: structures3/29/20201AgendaStructKhái niệmKhai báo structTruy xuất thành phần của structGán cấu trúcMảng cấu trúcTruyền cấu trúc vào hàmCon trỏ cấu trúctypedefEnum3/29/202021. StructKhái niệm: Một struct (1 cấu trúc) là 1 tập hợp các biến, các mảng và được biểu thị bằng 1 tên duy nhất.Ví dụ: Tập hợp thông tin về 1 sinh viên bao gồm: Tên sinh viên, Năm sinhĐịa chỉ thường trú 3/29/202031.1 Khai báo cấu trúcCó 2 kiểu khai báo cấu trúc:Kiểu 1:structureName: Tên structdatatype: kiểu dữ liệu của biến thành phầnmember_1, member_2, .., member_n: tên của biến thành phần3/29/20204struct structureName{datatype member_1;datatype member_2;...datatype member_n;};Struct members1.1 Khai báo cấu trúcKhai báo cấu trúc:Kiểu 1:Ví dụ 1: Khai báo 1 struct ngày3/29/20205struct ngay{int ngay_thu;char thang[10];int nam;} ;1.1 Khai báo cấu trúcKhai báo cấu trúc:Kiểu 1:Khai báo biến cấu trúc: Sau khi khai báo cấu trúc, ta có 1 kiểu dữ liệu mới (new data type). Muốn có 1 biến có kiểu struct vừa được khai báo, ta phải khai báo biến cấu trúc.Biến cấu trúc được khai báo giống tất cả những loại biến khác.Ví dụ: struct ngay ngaysinh;3/29/20206struct structName variableNames;1.1 Khai báo cấu trúcKhai báo cấu trúc:Lưu ý: Thành phần bên trong 1 struct có thể là 1 biến có kiểu dữ liệu cơ sở (vd: int, float,..), 1 mảng, hay có thể là 1 biến kiểu struct.3/29/202071.1 Khai báo cấu trúcKhai báo cấu trúc:Kiểu 1:Ví dụ 2: Khai báo struct sinh viên gồm những thành phần sau: Mã sinh viên (10 ký tự) Họ tên (50 ký tự) Ngày sinh (kiểu cấu trúc “ngày”) Quê quán (20 ký tự).Ví dụ 3: Khai báo struct nhân viên gồm những thành phần sau: Họ tên (50 ký tự) Ngày sinh (kiểu cấu trúc “ngày”) Địa chỉ (50 ký tự) Bậc lương (kiểu số thực) Ngày vào công ty (kiểu cấu trúc “ngày”)3/29/202081.1 Khai báo cấu trúcKhai báo cấu trúc:Kiểu 1:Ví dụ 2:Khai báo struct sinhvienKhai báo biến cấu trúc có kiểu sinhvien3/29/20209struct sinhvien{char masv[10];char ten[50];struct ngay ngaysinh;char quequan[40];} ;struct sinhvien svA;1.1 Khai báo cấu trúcKhai báo cấu trúc:Kiểu 1:Ví dụ 3:Khai báo struct nhanvienKhai báo biến cấu trúc có kiểu nhanvien3/29/202010struct nhanvien{char ten[50];struct ngay ngaysinh;char diachi[50];float bacluong;struct ngay ngayvaocty;} ;struct nhanvien nvA;1.1 Khai báo cấu trúcKhai báo cấu trúc:Kiểu 2: Khai báo biến cấu trúc đồng thời với khai báo cấu trúc.variableNames: tên các biến cấu trúc phân cách nhau bởi dấu “,”3/29/202011struct structureName{datatype member_1;datatype member_2;...datatype member_n;} variableNames;Struct members1.1 Khai báo cấu trúcKhai báo cấu trúc:Kiểu 2:Ví dụ 1:Khai báo struct nhanvien3/29/202012struct nhanvien{char ten[50];struct ngay ngaysinh;char diachi[50];float bacluong;struct ngay ngaysinh;} nvA, nvB;Dạng tổng quát:3/29/202013variableName.memberName1.2 Truy cập các thành phần của biến cấu trúc1.2 Truy cập các thành phần của biến cấu trúcVí dụ: Xem xét cấu trúc struct coordXY{ int x;int y;} diemA, diemB;Để gán tọa độ cho điểm A(100,200), ta dùng các lệnh: diemA.x = 100; diemA.y = 200;3/29/2020141.2 Truy cập các thành phần của biến cấu trúcVí dụ 1: Xem xét cấu trúc struct diem{ int x;int y;} diemA, diemB;Để gán tọa độ cho điểm A(100,200), ta dùng các lệnh: diemA.x = 100; diemA.y = 200;3/29/2020151.2 Truy cập các thành phần của biến cấu trúcVí dụ 2: Khai báo 2 điểm A(xA, yA), B (xB, yB),tọa độ của A,B nhập vào từ bàn phím. Tính khoảng cách đoạn thẳng AB biết 3/29/2020161.3 Lệnh gán cấu trúcLệnh gán cấu trúc dùng để gán nội dung của 1 biến cấu trúc cho 1 biến cấu trúc khác có cùng kiểuVí dụ: Để gán nội dung của biến cấu trúc điemA cho biến cấu trúc điemB, ta dùng lệnh sau:diemB = diemA3/29/2020171.4 Mảng cấu trúcĐể khai báo 1 mảng các cấu trúc, đầu giên ta sẽ khai báo cấu trúc trước, sau đó sẽ khai báo 1 mảng của cấu trúc đó.Ví dụ: Khai báo mảng point có 100 phần tử:struct diem{ int x;int y;} diemA, diemB;diem arrDiem[100];3/29/2020181.5 Truyền cấu trúc vào hàmTruyền thành viên của cấu trúc vào hàm: Có 2 cách truyềnTruyền tham trị: Khi truyền 1 thành phần của 1 cấu trúc vào 1 hàm, thực chất là truyền giá trị của thành phần đó cho tham số hình thức của hàm.Truyền tham chiếu: Để thực hiện việc truyền tham chiếu, ta phải đặt dấu “&” trước tên của thành phần được truyền.3/29/2020191.5 Truyền cấu trúc vào hàmVí dụ 1 – truyền tham trị: Tính khoảng cách đoạn thẳng AB3/29/202020double khoangcach(int xA, int yA, int xB, int yB){return (sqrt(pow((xB-xA),2)+pow((yB-yA),2)));}void main(){struct diem{int x;int y;};diem A,B; double kcach;// Nhập tọa độ 2 điểm A,B.cout”Ví dụ:points *p;points p = &pointA;p->x = 100;3/29/2020261.7 typedefTừ khóa typedef dùng để định nghĩa một kiểu mới dựa trên 1 kiểu dữ liệu có sẵn.Dạng tổng quát:3/29/202027typedef existingType newType;2. enumMột enum là một tập của các tên hằng nguyên xác định tất cả các giá trị hợp lệ mà một biến của kiểu đó có thể có.Cú pháp:enum: từ khóa để khai báo enumenumName: Tên của enumenumList: Danh sách các tên hằng nguyên phân cách nhau bởi dấu phẩyenumVars: Tên các biến kiểu enum.3/29/202028enum enumName {enumList} enumVars;2. enumenum day {Sun, Mon, Tue, Wed, Thu, Fri, Sat}3/29/202029

Các file đính kèm theo tài liệu này:

  • pptxchuong_8_9965.pptx