Kế thừa lớp sinh viên Visual C++SV
a. Xây dựng một lớp SV để mô tả các sinh viên trong một Khoa của một Trường Đại học, lớp SV gồm các thành phần sau:
– Lop: Mô tả lớp học của sinh viên.
– Hoten: Mô tả họ tên của sinh viên.
– Hàm thiết lập.
– Hàm huỷ bỏ.
– Hàm hiển thị thông tin về một SV.
b. Xây dựng một lớp SVSP để mô tả các sinh viên thuộc hệ sư phạm. Lớp được kế thừa từ lớp SV và bổ sung thêm các thành phần sau:
– Dtb: Mô tả điểm trung bình của sinh viên.
– Hocbong: Mô tả học bổng của sinh viên.
– Hàm thiết lập.
– Hàm hiển thị thông tin về một SVSP.
c. Xây dựng một lớp SVCN để mô tả các sinh viên thuộc hệ cử nhân. Lớp được kế thừa từ lớp SVSP và bổ sung thêm các thành phần sau:
– Hocphi: Mô tả học phí của sinh viên cử nhân.
– Hàm thiết lập.
– Hàm hiển thị thông tin về một SVCN.
d. Viết chương trình khai báo một mảng 3 con trỏ đối tượng kiểu SVCN, nhập dữ liệu vào để tạo 3 đối tượng SVCN. Gọi hàm hiển thị của lớp SVCN thông qua các con trỏ này để in thông tin về một SVCN ra màn hình.
Download Code “Kế thừa lớp sinh viên Visual C++” (Project VC++ 2010 Express)
#include<iostream>
#include<stdio.h>
#include<iomanip>
#include<string.h>
#include<conio.h>
using namespace std;
class SV {
private:
char *name,*lop;
public:
SV (char *ten=NULL,char *tlop=NULL)
{
name=strdup(ten);
lop=strdup(tlop);
}
~SV()
{
delete name;
delete lop;
}
void dsp ()
{
cout<<setw(20)<<name<<setw(10)<<lop;
}
};
class SVSP: public SV {
private:
float dtb, hb;
public:
SVSP (char *ten=NULL,char *tlop=NULL,float ddtb=0,float thb=0):SV (ten,tlop)
{
dtb=ddtb;
hb=thb;
}
void dsp()
{
SV::dsp();
cout<<setw(5)<<dtb<<setw(10)<<hb;
}
};
class SVCN : public SVSP {
private:
float hp;
public:
SVCN (char *ten=NULL,char *tlop=NULL,float ddtb=0,float thb=0,float thp=0):SVSP(ten,tlop,ddtb,thb)
{
hp=thp;
}
void dsp()
{ cout<<setiosflags(ios::left);
SVSP::dsp();
cout<<setw(10)<<hp;
}
};
void main()
{
SVCN *a[3];
int i;
char name[30],lop[10];
float dtb,hb,hp;
for (i=0;i<3;i++)
{
cout<<“—-Thong tin sinh vien thu “<<i+1<<“——-n”;
cout<<“Nhap ten: “;fflush(stdin);gets(name);
cout<<“Nhap lop: “;fflush(stdin);gets(lop);
cout<<“Nhap DTB: “;cin>>dtb;
cout<<“Nhap hoc bong: “;cin>>hb;
cout<<“Nhap hoc phi: “;cin>>hp;
a[i]=new SVCN(name,lop,dtb,hb,hp);
}
cout<<“n=====THONG TIN SINH VIEN =======n”;
for (i=0;i<3;i++)
{
cout<<“n”;
a[i]->dsp();
}
getch();
}
Kết quả chương trình Kế thừa lớp sinh viên Visual C++:
Lượt xem (6612)