Câu hỏi ôn tập và thảo luận chương 5 lập trình hướng đối tượng | Đại học Kinh tế Kỹ thuật Công nghiệp
Bạn có thể thảo luận các câu hỏi theo từng nhóm hoặc cá nhân, tạo cơ hội để mọi người chia sẻ quan điểm và hiểu biết của mình về OOP. Việc áp dụng lý thuyết vào thực tế sẽ giúp bạn nắm vững kiến thức hơn. Thảo luận: Thảo luận về cách tối ưu hóa mã bằng cách sử dụng OOP. Cách tiếp cận nào giúp dễ dàng bảo trì và mở rộng mã nguồn?
Môn: Lập trình hướng đối tượng (KTKTCN)
Trường: Đại học Kinh tế kỹ thuật công nghiệp
Thông tin:
Tác giả:
Preview text:
LTHĐT Câu hỏi và Bài tập Chương 5
CÂU HỎI ÔN TẬP VÀ THẢO LUẬN
Câu 1. Hàm ảo virtual được định nghĩa thế nào? Nêu cách sử dụng hàm ảo?
Câu 2: Phân biệt hàm ảo và hàm thuần ảo?
Câu 3. Lớp trừu tượng là gì? Tính chất quan trọng của lớp này?
Câu 4. Cho biết kết quả in ra màn hình sau khi thực hiện chương trình sau: #include class A { int a; public: A(){ a=5; }
virtual void xuat(){ cout<}; class B: public A { int a; public: B() { a=1; } void xuat() { cout<}; main() { A *ob,x; B b; ob=&x; ob->xuat(); ob=&b; ob->xuat(); }
Câu 5. Cho biết kết quả in ra màn hình sau khi thực hiện chương trình sau: #include class A { public:
virtual void who() { cout<<"A day "<void hello(){
cout<<"A xin chao cac ban "<} void test() { who(); hello(); } }; class B: public A { public:
void who() { cout<<"B day "<void hello() { cout<<"B xin chao cac ban "<}; void main() { A a; B b; A* pa = &a; B* pb = &b; a.who(); a.hello(); b.who(); b.hello(); pa->who(); pa->hello(); pb->who(); pb->hello(); a.test(); b.test(); }
Câu 6. Cho biết kết quả in ra màn hình sau khi thực hiện chương trình sau: #include #include class A { public:
A() { cout << "A constructor\n"; } void m1() { cout << "A.m1\n"; m2(); }
virtual void m2() { cout << "A.m2\n"; } }; class B : public A { public:
B() { cout << "B() constructor\n";}
void m1() { cout << "B.m1\n"; }
void m2() { cout << "B.m2\n"; } }; void func(A &a){ a.m1(); } void main() { B b; func(b); }
Câu 7: Một bệnh viện cần quản lý các loại hồ sơ bệnh nhân sau: -
Bệnh nhân nội trú: Mã hồ sơ, họ tên, ngày sinh, ngày nhập viện, ngày ra viện,
chuẩn đoán bệnh, tên khoa, số giường -
Bệnh nhân ngoại trú: Mã hồ sơ, họ tên, ngày sinh, chuẩn đoán bệnh, ngày chuyển, nơi chuyển
Viết chương trình thực hiện các yêu cầu sau: -
Nhập các loại hồ sơ bệnh nhân trên một danh sách. -
In thông tin theo từng loại hồ sơ bệnh nhân. -
Tính số hồ sơ theo từng loại có ngày sinh lớn hơn ngày sinh X nhập từ bàn phím
Câu 8. Thư viện X quản lý danh sách các loại sách. Thông tin về các loại sách:
- Sách giáo khoa: Mã sách, đơn giá, số lượng, nhà xuất bản, tình trạng (mới, cũ).
Nếu tình trạng sách là mới thì thành tiền = số lượng * đơn giá. Nếu tình trạng sách là cũ
thì thành tiền = số lượng * đơn giá * 50%.
- Sách tham khảo: Mã sách, đơn giá, số lượng, nhà xuất bản, thuế, thành tiền = số
lượng * đơn giá + thuế.
Viết chương trình thực hiện các yêu cầu sau:
- Nhập xuất danh sách các loại sách.
- Tính tổng thành tiền cho từng loại.
- Tính trung bình cộng đơn giá của các sách tham khảo.
- Xuất ra các sách giáo khoa của nhà xuất bản X.
Câu 9. Một công ty trả lương cho nhân viên (theo tuần) như sau: -
Nhà quản lý (Mã số 1) nhận một khoản lương cố định X (theo tuần). -
Công nhân làm theo giờ (mã số 2) nhận một khoản lương cơ bản Y đồng trong 40
giờ đầu trong tuần và 1.5 lần lương cơ bản cho mỗi giờ vượt mức qui định đó. -
Lương công nhân theo lợi nhuận (mã số 3) được nhận 500000 đồng cộng thêm 7%
giá trị doanh số Z mà công nhân ấy bán hàng ra trong tuần. -
Lương công nhân theo sản phẩm (mã số 4) nhận tiền dựa vào số N sản phẩm mà
người đó đã làm ra trong tuần, với mỗi sản phẩm thì người này được nhận S đồng (mỗi
người chỉ làm ra một loại sản phẩm nhất định).
Viết chương trình cho nhập vào mã số, tùy theo loại công nhân mà cho phép nhập vào
những thông tin cần thiết cho công nhân đó để tính lương. Sau đó tính tổng lương mà
công ty phải trả cho nhân viên ấy trong tuần. Sắp xếp danh sách công nhân theo chiều
giảm của số sản phẩm làm được.
Câu 10: Một khách sạn cung cấp 2 dịch vụ là giặt là và thuê xe.
- Dịch vụ giặt là: tiền giặt là = số kg quần áo * đơn giá + tiền dịch vụ thêm. Nếu số
kg quần áo > 5kg thì giảm giá 5%. Tiền dịch vụ cộng thêm dành cho các loại quần áo cần
giặt là đặc biệt ( ví dụ các loại áo vest, áo lụa…)
- Dịch vụ thuê xe: Tiền thuê xe = số giờ thuê*đơn giá. Nếu người thuê quá 10h thì giảm 10%
- Thông tin về hóa đơn sử dụng dịch vụ của khách hàng gồm: mã hóa đơn, mã
khách hàng, tên khách hàng và n dịch vụ mà khách hàng sử dụng, tổng tiền khách hàng phải trả.
Viết chương trình với các lớp cần thiết để tạo menu chương trình thực hiện các yêu
cầu: Nhập hóa đơn, in hóa đơn, tính tiền của từng dịch vụ mà khách sử dụng, tính tổng
tiền khách sạn được nhận, lọc ra những dịch vụ giặt là có tiền dịch vụ > 10 triệu.