thắc mắc Giúp em 1 tí về project C++ OOP

Du Học Sinh Cali

Senior Member
Giáo cho đề tài quản lý máy thu ngân gồm có 2 lớp:
  • Lớp sản phẩm: gồm thuộc tính như tên, giá tiền, số lượng.
  • Lớp máy thu ngân: gồm các chức năng như nhập (sử dụng nạp chồng toán tử)
Các vozer cho em hỏi em viết phần nạp chồng chỗ này ổn chưa ạ, em còn gà lắm mong các vozer chỉ dạy em :cry: .
C++:
class SanPham{
    ...
    public:
        SanPham() {
        MaHang = 0;
        GiaTien = 0;
        TenHang = "";
        SoLuongHang = 0;
    }
    SanPham(int MaHang, string TenHang, int GiaTien, int SoLuongHang) {
        this->MaHang = MaHang;
        this->TenHang = TenHang;
        this->GiaTien = GiaTien;
        this->SoLuongHang = SoLuongHang;
    }
    void Nhap();
    void Xuat();
};
class MayThuNgan: public SanPham{
    public:
    friend istream &operator >> (istream& input, SanPham& sp)
    {

        sp.Nhap();
        return input;
    }
    friend ostream &operator << (ostream& output, SanPham& sp)
    {
        sp.Xuat();
        return output;
    }
    void Nhap();
    void Xuat();
};
 
Bác viết tiếng việt không biết hiểu đúng không. Mà khi bác muốn overwrite lại Nhập xuất thì base class phải thêm virtual
virtual void Nhap();
virtual void Xuat();
Còn nạp chồng toán tử gì đấy là mình nhớ là overload, thì là 2 hàm cùng tên mà khác args thôi
 
Sao máy thu ngân lại inherit từ sản phẩm làm gì cho nó rối ra? Nếu theo tôi đoán bài này thì nên làm máy thu ngân thành 1 class riêng. Inheritance chuẩn nhất là chỉ khi thí dụ như base là Gia Súc thì kế thừa nó xuống define thêm mũi mồm tiếng kêu thành Con Heo, Con Bò chẳng hạn. :embarrassed:

via theNEXTvoz for iPhone
 
Giáo cho đề tài quản lý máy thu ngân gồm có 2 lớp:
  • Lớp sản phẩm: gồm thuộc tính như tên, giá tiền, số lượng.
  • Lớp máy thu ngân: gồm các chức năng như nhập (sử dụng nạp chồng toán tử)
Các vozer cho em hỏi em viết phần nạp chồng chỗ này ổn chưa ạ, em còn gà lắm mong các vozer chỉ dạy em :cry: .
C++:
class SanPham{
    ...
    public:
        SanPham() {
        MaHang = 0;
        GiaTien = 0;
        TenHang = "";
        SoLuongHang = 0;
    }
    SanPham(int MaHang, string TenHang, int GiaTien, int SoLuongHang) {
        this->MaHang = MaHang;
        this->TenHang = TenHang;
        this->GiaTien = GiaTien;
        this->SoLuongHang = SoLuongHang;
    }
    void Nhap();
    void Xuat();
};
class MayThuNgan: public SanPham{
    public:
    friend istream &operator >> (istream& input, SanPham& sp)
    {

        sp.Nhap();
        return input;
    }
    friend ostream &operator << (ostream& output, SanPham& sp)
    {
        sp.Xuat();
        return output;
    }
    void Nhap();
    void Xuat();
};
code của bạn chạy chưa, nếu chạy được thì nó ổn rồi đấy :LOL:))
 
Back
Top