Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 30 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
30
Dung lượng
539,54 KB
Nội dung
TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI UNIVERSITY OF SCIENCE AND TECHNOLOGY KỸ THU T L P TRÌNH H C ĐI N TỬ Programming Engineering in Mechatronics Chapter The structure in C++ CHƯ NG Cấu trúc C++ C sở cấu trúc C++ 1.1 Các cấu trúc li u C++ • Một ấu trúc liệu ột tập hợp hữ g kiểu liệu khác đượ gộp lại với ột tên hất Dạ g thứ hư sau: struct model_name { type1 element1 ; type2 element2 ; type3 element3 ; … } object_name ; • Trong model_name tên ẫu kiểu liệu tham số tùy họ object_name ột tên hợp lệ cho đối tượ g Bên ặp goặ họ tên phầ tử ấu trúc kiểu chúng • Nếu đị h ghĩa ấu trúc bao gồ số model_name tuỳ họ , tham số t thành kiểu hợp lệ tươ g đươ g với ấu trúc Ví dụ: struct products { char name [30]; float price; }; products apple; products orange, melon; tham ột tên • Chúng ta đ đị h ghĩa ấu trúc products với hai t ườ g: name price, ỗi t ườ g có ột kiểu khác Chúng ta ũ g đ sử dụ g tên kiểu ấu trúc (products) để khai báo ba đối tượ g có kiểu : apple, orange melon • Sau đượ khai báo, products t thành ột tên kiểu hợp lệ giố g kiểu ả hư int, char hay short • T ườ g tuỳ họ object_name ằ uối phầ khai báo ấu trúc dùng để khai báo t ự tiếp đối tượ g có kiểu ấu trúc Ví dụ, để khai báo đối tượ g apple, orange melon hư đ làm phầ t ướ ũ g làm theo cách sau: struct products { char name [30]; float price; } apple, orange, melon; • Hơ ữa, t ườ g hợp tham số model_name t thành tuỳ họ Mặ dù ếu model_name khơng đượ sử dụ g khơng thể khai báo thêm đối tượ g có kiểu ẫu 1.2 Kiểu m u cấu trúc • Một điều quan ẫu ấu trúc, đ gữ đ liệu đối tượ t ọ g ầ phân iệt rõ ràng đ u kiểu u đối tượ g ấu trúc Nếu dùng thuật sử dụ g với iế , kiểu ẫu tên kiểu g iế • Sau đ khai báo ba đối tượ g có kiểu ột ẫu ấu trúc xác đị h (apple, orange and melon) thao tác với t ườ g tạo nên chúng Để làm việ sử dụ g ột dấu hấ (.) chèn tên đối tượ g tên t ườ g Ví dụ, thao tác với ất kì phầ tử ấu trúc hư iế huẩ : • apple.nameapple.priceorange.nameorange.pricemelon.name melon.price • Mỗi t ườ g có kiểu liệu tươ g ứ g: apple.name, orange.name melon.name có kiểu char[30], apple.price,orange.price melon.price có kiểu float • Ví dụ: Kết uả: Enter title: AlienEnter year: 1979 My favourite movie is: 2001 A Space Odyssey (1968)And yours: Alien (1979) • Ví dụ này: - Cho thấy cách sử dụ g phầ tử ột ấu trúc ả thân ấu trúc hư iế thông thườ g Ví ột iế hợp lệ có kiểu int ũ g dụ,yours.year hư mine.title ột ả g hợp lệ với 50 phầ tử kiểu chars - Chú ý ằ g ả mine and yours đượ coi iế hợp lệ kiểu movie_t đượ t uyề cho hàm printmovie().Hơ ữa ột lợi quan t ọ g ấu trúc xét phầ tử chúng ột cách riêng iệt hoặ tồn ộ ấu trúc hư ột khối • Các ấu trúc đượ sử dụ g ất hiều để xây dự g sở liệu đặ iệt ếu xét đế khả ă g xây dự g ả g chúng Kết uả: Enter title: AlienEnter year: 1979Enter title: Blade RunnerEnter year: 1982Enter title: MatrixEnter year: 1999Enter title: Rear WindowEnter year: 1954Enter title: Taxi DriverEnter year: 1975 You have entered these movies:Alien (1979)Blade Runner (1982)Matrix (1999)Rear Window (1954)Taxi Driver (1975) Con trỏ trỏ đến cấu trúc • Như ất kì kiểu liệu khác, ấu trúc đượ t ỏ đế ởi t ỏ Quy tắ hoàn toàn giố g hư ất kì kiểu liệu ả nào: 10 struct movies_t { char title [50]; int year; } struct friends_t { char name [50]; char email [50]; movies_t favourite_movie; } charlie, maria; friends_t * pfriends = &charlie; • Vì vậy, sau phầ khai báo sử dụ g iểu thứ sau: 16 charlie.namemaria.favourite_movie.titlecharlie.favourite_movie yearpfriends->favourite_movie.year t o g hai iểu thứ uối ù g tươ g đươ g • Các khái iệ ả ấu trúc đượ đề ập đế phầ hoàn toàn giố g với ngôn gữ C, nhiên C++, ấu trúc đ đượ ộ g thêm ă g ột lớp với tính hất đặ t g tất ả phầ tử công ộ g (public) 17 18 19 20 21 22 23 24 25 26 27 28 29 30 ... khác, giới thiệu ột toán tử ới: 11 12 Kết uả: Enter title: MatrixEnter year: 1999 You have entered:Matrix (1999) • Đoạ mã giới thiệu ột điều quan t ọ g: toán tử -> Đ y ột toán tử tham hiếu hỉ dùng... này: - Cho thấy cách sử dụ g phầ tử ột ấu trúc ả thân ấu trúc hư iế thơng thườ g Ví ột iế hợp lệ có kiểu int ũ g dụ,yours.year hư mine.title ột ả g hợp lệ với 50 phầ tử kiểu chars - Chú ý ằ g ả mine... hiếu đế ột phầ tử ấu trúc Trong ví dụ sử dụ g: movies->title đượ dị h thành: (*movies).title 13 • Cả hai iểu thứ movies->title (*movies).title hợp lệ chúng dùng để tham hiếu đế phầ tử title ấu trúc