Danh mục

Bài giảng Lập trình nâng cao - Chương 8: Class and struct

Số trang: 58      Loại file: pdf      Dung lượng: 267.65 KB      Lượt xem: 11      Lượt tải: 0    
10.10.2023

Xem trước 6 trang đầu tiên của tài liệu này:

Thông tin tài liệu:

Bài giảng "Lập trình nâng cao - Chương 8: Class and struct" cung cấp cho người học các kiến thức: Kiểu dữ liệu có cấu trúc, struct và các biến thành viên, hàm thành viên, constructor và destructor. Mời các bạn cùng tham khảo nội dung chi tiết.
Nội dung trích xuất từ tài liệu:
Bài giảng Lập trình nâng cao - Chương 8: Class and structClass&StructLậptrìnhnângcao KiểudữliệucócấutrúcClass/structlàcấutrúcchophépđịnhnghĩacáckiểudữ liệucócấutrúc:dữliệukèmtheocáchàmxửlýdữliệu đó.Vídụ: –  Vector:VectơtronghệtoạđộĐề-các:cặptoạđộxvày, cùngcácphéptoántổng,hiệu,chcóhướng,chvô hướng… –  Circle:Hìnhtròntronghìnhhọc:toạđộtâm(x,y)vàbán kính,cácphéptoán hdiện h, hchuvi,vẽ,... –  Student:Sinhviêntrongứngdụngquảnlýđàotạo:tên, mãsinhviên,lớp,địachỉ,ngàysinh... Bàitoánvídụ•  VectơtronghệtoạđộĐề-các:cặptoạđộxvà y,cùngcácphéptoántổng,hiệu,chcó hướng,chvôhướng…•  Viếtmộtchươngtrìnhhỗtrợ htổnghai vector,invectorramànhìnhdạng(x,y). –  add_vector(): hvectortổngcủahaivector –  print_vector():inmộtvectorramànhình Cần4thamsốcho2 Quánhiềuthamsố! vectortoánhạng Cách1voidadd_vector(doublex1,doubley1,doublex2,doubley2, double&x_sum,double&y_sum){x_sum=x1+x2;y_sum=y1+y2;} Khôngthểreturn2biến đạidiệnchovectortổng,voidprint_vector(doublex,doubley){ nênphảithêm2thamcoutstructVector{ doublex; doubley; ... Cáchtốthơn};Vectoradd(Vectorv1,Vectorv2){ Vectorsum; sum.x=v1.x+v2.x; Ítthamsố,dễđọc.Dodữ sum.y=v1.y+v2.y; liệuvectorđượcđónggói trongmộtcấutrúc returnsum;}voidprint(Vectorv){cout CáchtốthơnnữastructVector{ doublex; doubley; Vectoradd(Vectorother){...} voidprint(){...} }; Cáchàmxửlídữliệu cũngđượcđónggói kèmvớidữliệuintmain(){ Vectora(1.2,0.4),b(2.0,1.6); Vectorsum=a.add(b); sum.print(); return0;}STRUCTVÀCÁCBIẾNTHÀNHVIÊN ĐịnhnghĩakiểudữliệumớistructVector{địnhnghĩakiểuVectorgồm:doublex; -trườngdữliệuxdoubley; -trườngdữliệuy}; Ýnghĩa: v1 x y v2 x yVectorv1,v2; biếnv1,v2thuộckiểuVectorMỗibiếnthuộckiểuVectorcóhaithànhviêndữliệulàxkiểudoublevàykiểudouble. SửdụngstructVector{địnhnghĩakiểuVectorgồm:doublex; -trườngdữliệuxdoubley; -trườngdữliệuy};Vectorv; khaibáobiếnvkiểuVectorv.x=1.0; gángiátrịchotrườngxcủabiếnvv.y=2.1; gángiátrịchotrườngycủabiếnvcout VídụstructPerson{địnhnghĩakiểudữliệuPersongồm:stringname; -trườngdữliệunamestringaddress; -trườngdữliệuaddressintage; -trườngdữliệuage}; sửdụngPersonjohn; khaibáobiếnjohnkiểuPersonjohn.name=“John”;john.address=“London”;john.age=20; Point–tọađộtrongkhônggian2DstructPoint{ doublex; doubley; Point(int_x,int_y){…}}; Triangle–tamgiácstructTriangle{ Pointa; Pointb; Pointc; Triangle(intx1,inty1,intx2,inty2,intx3,inty3):a(x1,y1),b(x2,y2),c(x3,y3){} Gọiconstructor}; Point(intx,inty)để khởitạoa,b,c hoặcstructTriangle{ Pointa[3]; Gọiconstructor Point()đểkhởitạoa,}; b,c KhởitạocácbiếnthànhviênstructTriangle{ Pointa; Pointb; Pointc; Triangle(intx1,inty1,intx2,inty2,intx3,inty3):a(x1,y1),b(x2,y2),c(x3,y3){} Gọiconstructor Point(intx,inty)để khởitạoa,b,c ...

Tài liệu được xem nhiều: