30/09/2018, 16:16
Cách sử dụng kế thừa để xây dựng nên các lớp trong C++?
Xây dựng các lớp như mô tả dưới đây
Xây dựng lớp HoaDon bao gồm:
Thuộc tính:
- soLuong có kiểu int: Số lượng sản phẩm
- giaCa có kiểu double: Giá sản phẩm
Phương thức: - Một hàm tạo không đối để khởi tạo một hóa đơn gồm một sản phẩm, giá cả của sản phẩm là 10 USD
- Một hàm tạo hai tham số HoaDon(int sl, double gc): Thiết lập giá trị số lượng và giá cả tương ứng bằng giá trị tham số
- Hàm tongTien():Tổng tiền cho sản phẩm
- Hàm setGiaCa(double giaMoi): Thiết lập giaCa bằng giaMoi
- Hàm inHoaDon(): Dùng để in ra số sản phẩm, giá cả và tiền cần thanh toán.
Xây dựng tiếp lớp HoaDonKM thừa kế từ lớp HoaDon. Nó có thêm các thuộc tính và phương thức sau
Thuộc tính: - giamGia có kiểu double: Số tiền được khuyến mại
Phương thức: - Hàm tạo không đối HoaDonKM(): Khởi tạo hóa đơn gồm 1 sản phẩm, giá sản phầm là 10 USD, giảm giá 2 USD
- Một hàm tạo ba tham số HoaDonKM(int sl, double gc, double gg): Thiết lập giá trị số lượng và giá cả và tiền giảm giá tương ứng bằng giá trị các tham số
- Hàm thanhToan(): Tính số tiền khách hàng cần thanh toán (Gợi ý: Sử dụng hàm tongTien thừa kế từ lớp HoaDon)
- Định nghĩa lại hàm inHoaDon cho phù hợp (in ra cả thông tin về tiền khuyến mại)
Gợi ý: Có thể sử dụng hàm inHoaDon của lớp cơ sở
Viết hàm main để sử dụng các lớp nói trên
Bài liên quan
Hỏi như này thì ai dám làm hộ
Diễn đàn này đâu phải để post đề bài rồi nhờ người khác làm giùm :trollface:
Có bài làm trước chưa bạn, đề bạn dài quá, làm biếng làm lắm
dễ mà từ từ làm bạn ơi. có gì k ổn thì đưa lên hỏi chứ ai lại kêu nta làm hộ luôn z =D
ok. Mình biết rồi. Tại mới tham gia lần đầu chưa có kinh nghiệm lắm. Các bạn thông cảm !!
bạn đọc meta đi. đọc xong đảm bảo ok
vào dẫn link a @ltd ơi.
Vừa nhìn lướt qua 1 lượt. Nhìn xong rồi, cho phép em … :running: :running: :running:
:running: :running: :running: :running: bài này mình chỉ làm đc 60%
Bạn có thể post lên cho mình xem được không…?? Mình chỉ làm được 2 phương thức cuối trong class HoaDon thôi. Mong bạn giúp !.
Lần đầu bạn tham gia mình sẽ sửa lại cách up code giúp bạn nhé. Xem hướng dẫn up code lên diễn đàn tại đây How to post your code on diễn đàn
Cảm ơn bạn đã giúp mình !!!
Bạn thiếu constructor hay hàm tạo nhé. làm từ từ mình chỉ tiếp.
Sau một hồi mày mò mấy bài của topic cũ thì minh chỉnh sửa lại được như thế này… Nhưng không thể chạy được… Vì mình không biết định nghĩa cái void setGiaCa(double giaMoi). Mong bạn chỉ giúp mình
Thứ nhất là hàm setGiaCa(double) của bạn có 1 tham số, nhưng trong hàm main bạn gọi hàm với không đối số truyền vào?
Mình đã sửa lại giống bạn nhưng vẫn không được. Nó bão lỗi thế này :
e:\c++\emty project\emty project\bai2.cpp(23): error C2144: syntax error : ‘double’ should be preceded by ‘)’
1>e:\c++\emty project\emty project\bai2.cpp(23): error C2660: ‘HoaDon::setGiaCa’ : function does not take 0 arguments
1>e:\c++\emty project\emty project\bai2.cpp(23): error C2059: syntax error : ‘)’
Lỗi dòng 23. Bạn thừa hoặc thiếu 1 dấu ). và bạn chưa truyền đối số
Mình đã dùng thử mọi cách nhưng vẫn không được bạn ạ…Chắc phải nghiên cứu thêm đã. Cảm ơn bạn đã giúp mình !
Nhìn qua thì còn 3 chỗ phải sửa. Bạn có chắc sửa lỗi đầu tiên dạng như thế này?
Nghĩa là mình truyền vào cho nó 1 tham số bất kì nào cũng được à. Nhưng mình nghĩ cái giaMoi là nhập từ bàn phím chứ. Thật ra phần class HoaDon mình cũng chưa hieur nó yêu cầu cái gì lắm. Nhất là cái double tongTien() vs cái void setGiaCa
Mình để code như thế này:
Nó chạy được và ra là:
Thông tin hóa đơn:
Số lượng: 3
Giá của 1 sản phẩm: 1000
Tổng tiền cần thanh toán: 3000
Mời bạn nhập thông tin hóa đơn của bạn
Thông tin hóa đơn của bạn
Số lượng: 1
Giá của 1 sản phẩm: 2000
Tổng tiền cầ thanh toán: 2000.
Hết______________________________________
Vậy làm sao để nhập giá cả từ bàn phím được hả bạn??