THÔNG TIN TÀI LIỆU
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
Ngày đăng: 07/09/2022, 11:22
Xem thêm: