Bài tập C++: Lớp cơ sở ảo (Virtual Class)
Bài tập Viết chương trình C++ để nhận điểm và tính tổng điểm của sinh viên bởi sử dụng Lớp cơ sở ảo (Virtual Base Class) trong C++. Lời giải Dưới đây là chương trình C++ để giải bài tập trên. Sau đây là các bước mình liệt kê để bạn dễ theo dõi: Bước 1: Khai báo lớp cơ sở ...
Bài tập
Viết chương trình C++ để nhận điểm và tính tổng điểm của sinh viên bởi sử dụng Lớp cơ sở ảo (Virtual Base Class) trong C++.
Lời giải
Dưới đây là chương trình C++ để giải bài tập trên. Sau đây là các bước mình liệt kê để bạn dễ theo dõi:
Bước 1: Khai báo lớp cơ sở sinhvien
Bước 2: Khai báo và định nghĩa hàm getnumber() và hàm putnumber()
Bước 3: Tạo lớp kế thừa diemthi được kế thừa ảo từ lớp cơ sở sinhvien
Bước 4: Khai báo và định nghĩa hàm getmark() và putmark()
Bước 5: Tạo lớp kế thừa gdthechat được kế thừa ảo từ lớp cơ sở sinhvien
Bước 6: Khai báo các hàm getscore() và putscore()
Bước 7: Tạo lớp kế thừa ketqua được kế thừa từ các lớp diemthi và gdthechat
Bước 8: Khai báo và định nghĩa hàm display() để tính toán tổng điểm
Bước 9: Tạo đối tượng obj của lớp kế thừa
Bước 10: Gọi các hàm getnumber(), getmark(), getscore(0 và display()
#include<iostream> #include<conio.h> using namespace std; class sinhvien { int mssv; public: void getnumber() { cout<<"Nhap MSSV: "; cin>>mssv; } void putnumber() { cout<<" MSSV la: "<<mssv<<" "; } }; class diemthi:virtual public sinhvien { public: int diemthi1,diemthi2; void getmark() { cout<<"Nhap cac diem thi "; cout<<"Diem thi 1 la: "; cin>>diemthi1; cout<<"Diem thi 2 la: "; cin>>diemthi2; } void putmark() { cout<<" Cac diem thi da nhap "; cout<<" Diem thi 1 la: "<<diemthi1; cout<<" Diem thi 2 la: "<<diemthi2; } }; class gdthechat:public virtual sinhvien { public: int diemtc; void getscore() { cout<<"Nhap diem Giao duc the chat: "; cin>>diemtc; } void putscore() { cout<<" Diem Giao duc the chat la: "<<diemtc; } }; class ketqua:public diemthi,public gdthechat { int tongdiem; public: void display() { tongdiem=diemthi1+diemthi2+diemtc; putnumber(); putmark(); putscore(); cout<<" Tong diem: "<<tongdiem; } }; int main() { ketqua obj; obj.getnumber(); obj.getmark(); obj.getscore(); obj.display(); return 0; }
Chạy chương trình C++ trên sẽ cho kết quả như hình sau:
Follow fanpage của team hoặc facebook cá nhân Nguyễn Thanh Tuyền để tiếp tục theo dõi các loạt bài mới nhất về Java,C,C++,Javascript,HTML,Python,Database,Mobile.... mới nhất của chúng tôi.
Bài học Bài tập C++ phổ biến tại vietjack.com: