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: