Danh sách một số lớp được định nghĩa trong C++ 2/2.
Trang 1Danh sách một số lớp được
định nghĩa trong C++
Bởi:
Đoàn Văn Ban
Lớp ThanhToan
class ThanhToan{ private: float tongSoTien; public:
ThanhToan(float soTien){ tongSoTien = soTien; } float
getAmount(){return tongSoTien;} };
Lớp MoTaMathang
#include <string.h> public class MoTaMatHang{ private: int upc = 0; float giaBan = 0.0; String moTa = ""; public:
MoTaMatHang(int ma, float p, String mt){ upc = ma; giaBan
= p; strcpy(moTa, mt); } MoTaMatHang(int ma, float p,
String mt){ upc = 0; giaBan = 0; strcpy(moTa, ""); } int getUPC(){return upc;} float getPrice(){return giaBan;}
String getDescrip(){return moTa;} };
Lớp DanhMucMatHang
#define N 100 public class DanhMucMatHang{ private:
MoTaMatHang danhSachMH[N]; public: DanhMucMatHang(){
for(inh k = 0; k < N; k++) danhSachMH[k] = new
MoTaMatHang(); } MoTaMatHang find(int upc){ for(k = 0; k < N; k++) if (danhSachMH[k].getUPC() == upc) return
danhSachMH[k]; } };
Lớp DongBanHang
class DongBanHang{ private: int soLuong; MoTaMatHang moTa; public: DongBanHang(MoTaMatHang mt, int n){ moTa = mt;
Danh sách một số lớp được định nghĩa trong C++
1/2
Trang 2soLuong = n; } float subtotal(){ return soLuong *
moTa.getPrice(); } };
Lớp PhienBanHang
#define M 20 class PhienBanHang{ private: DongBanHang
danhSachBan[M]; Date ngayBan;// Kiểu ngày/tháng/năm Time gioBan;// Kiểu giờ/phút/giây int soDong = 0; int
isComplete = 0;// false ThanhToan traTien; public:
getBalance(){ return traTien.getAmount() - total(); } void becomeComplete(){isComplete = 1;} int isComplete() {return isComplete;} void makeLineItem(MoTaMatHang mt, int sl){ lineItem[soDong++]= new DongBanHang(mt, sl); } float
total(){ float t = 0.; for (int k = 0; k < soDong; k++) t += lineItem[k].subtotal(); return t; } void
makePayment(float soTien){ traTien = new
ThanhToan(soTien); } };
Lớp HBH
class HBH{ private: DanhMucMatHang catalog; PhienBanHang banHang; public: HBH(DanhMucMatHang danhMuc){ catalog = danhMuc;} void endSale(){ banHang.becomeComplete();} void enterItems(int upc, int soLuong){ if (isNewSale(){ banHang
= new PhienBanHang(); } MoTaMatHang mt =
catalog.find(upc); banHang.makeLineItem(mt, soLuong); } void makePayment(soTien){ banHang.makePayment(soTien)} int isNewSale(){ return (banHang == null) ||
(banHang.isComplete()); } };
Lớp CuaHang
class CuaHang{ private: DanhMucMatHang dm = new
DanhMucMatHang(); HBH post = new HBH(dm); public: HBH
getPOST() {return post;} };
Tương tự, dễ dàng định nghĩa cho tất cả các lớp khác của hệ thống HBH.
Danh sách một số lớp được định nghĩa trong C++
2/2