Hàm kế thừa...(let's start)
BT1:xây dựng lớp con người :họ tên,năm sinh,địa chỉ
Xây dựng các hàm tạo có và k có tham số cho đối tượng con người
Xây dựng các hàm nhập .in thông tin đối tượng con người
(2)xây dựng lớp vđv kế thừa các thuộc tính và phương thức con người
bổ sung thêm môn thi đấu và số huy chương đã đạt
Xây dựng các hàm tạo ,nhập,xuất thông tin cho đối tượng vđv với hàm
nhập và xuất có kế thừa hàm đối tượng con người
(3)xây dựng lớp vđv tuyển thủ kế thừa các thuộc tính của lớp vđv bổ
sung thêm thuộc tình tên huy chương và tên giải đấu
Xây dựng hàm nhập xuất thông tin của lớp vđv tuyển thủ này có kế
thừa ham vđv và con người:
Code:
#include<iostream.h>
#include<conio.h>
//-----------------------
class date
{
private:
int ngay;
int thang;
int nam;
friend class ng;
};
//-----------------------
class ng
{
private:
char *ten;
char *dc;
date ns;
public:
ng()
{
ten = new char[30];
dc = new char[20];
ns.ngay = 0;
ns.thang = 0;
ns.nam = 0;
}
void nhap()
{
cin.ignore();
cout<<"Nhap ten :";cin.getline(ten,30);
cout<<"Nhap dia chi :";cin.getline(dc,20);
cout<<"Nhap ngay sinh :";cin>>ns.ngay;
cout<<"Nhap thang sinh :";cin>>ns.thang;
cout<<"Nhap nam sinh :";cin>>ns.nam;
}
void in()
{
cout<<ten<<"\t"<<dc<<"\t"<<ns.ngay<<"/"<<ns.thang<<"/"<<ns.nam<<"\t";
}
~ng()
{
delete ten;
delete dc;
}
};
//----------------------------
class vdv : public ng
{
private:
char *mtd;
int shc;
public:
vdv()
{
mtd = new char[30];
shc = 0;
}
void nhap()
{
ng::nhap();
cin.ignore();
cout<<"Nhap mon thi dau :";cin.getline(mtd,30);
cout<<"Nhap so huy chuong dat duoc :";cin>>shc;
}
void in()
{
ng::in();
cout<<mtd<<"\t"<<shc<<"\t";
}
int get()
{
return shc;
}
~vdv()
{
delete mtd;
}
};
//-----------------------------
class vdvtt : public vdv
{
private:
char *tenhc;
char *gd;
public:
vdvtt()
{
tenhc = new char[30];
gd = new char[50];
}
void nhap()
{
vdv::nhap();
cin.ignore();
cout<<"Nhap ten huy chuong :";cin.getline(tenhc,30);
cout<<"Nhap giai dau :";cin.getline(gd,50);
}
void in()
{
vdv::in();
cout<<tenhc<<"\t"<<gd;
}
~vdvtt()
{
delete tenhc;
delete gd;
}
};
//----------------------------------
void main()
{
int m,n;
vdv temp;
cout<<"Nhap so van dong vien :";cin>>n;
vdv *x = new vdv[n+1];
for (int i=1;i<=n;i++)
{
cout<<"Nhap van dong vien "<<i<<" : \n";
x[i].vdv::nhap();
}
cout<<"Nhap so van dong vien tuyen thu :";cin>>m;
vdvtt *y = new vdvtt[m+1];
for (int j=1;j<=m;j++)
{
cout<<"Nhap vdv tuyen thu "<<j<<" : \n";
y[j].vdvtt::nhap();
}
for (i=1;i<n;i++)
for (j=i+1;j<=n;j++)
if (x[j].vdv::get() > x[i].vdv::get())
{
temp = x[j];
x[j] = x[i];
x[i] = temp;
}
cout<<"Danh sach van dong vien :\n";
cout<<"*********************\n\n";
for (i=1;i<=n;i++)
{
x[i].vdv::in();
cout<<"\n";
}
cout<<"\n\n\n";
cout<<"Danh sach van dong vien tuyen thu :\n";
cout<<"**********************\n\n";
for (j=1;j<=m;j++)
{
y[j].vdvtt::in();
cout<<"\n";
}
getch();
}
0 Response to "Hàm kế thừa...(let's start)"
Đăng nhận xét