a. Xây dựng 1 lớp MyAttr mô tả các thuộc tính của tệp. Lớp gồm các thành phần:
- Thuộc tính Attr mô tả số hiệu thuộc tính của tệp là một số nguyên.
- Hàm thiết lập.
- Hàm hiển thị số hiệu thuộc tính tệp.
b. Xây dựng 1 lớp Mydate mô tả thông tin ngày, tháng, năm. Lớp gồm các thành phần:
- Các thuộc tính mô tả ngày, tháng, năm.
- Hàm thiết lập.
- Toán tử > để so sánh 2 đôi tượng Mydate
- Hàm hiển thị thông tin về ngày, tháng, năm theo dạng: ngày-tháng-năm.
c. Xây dựng 1 lớp Myfile kế thừa từ 2 lớp MyAttr và Mydate và đồng thời bổ sung thêm các thành phần:
- filename: Mô tả tên tệp, là một xâu không quá 255 ký tự.
- filesize: Mô tả kích thước tệp, là một số nguyên.
- Hàm thiết lập.
- Hàm hiển thị thông tin, kích thước, thời gian và số hiệu thuộc tính tệp.
d. Viết chương trình khai báo một mảng 4 con trỏ đối tượng kiểu Myfile, nhập dữ liệu vào để tạo 4 con trỏ đối tượng Myfile. Sắp xếp các đối tượng tăng dần theo ngày tháng và in ra màn hình các đối tượng đã sắp xếp.

Code:
#include<conio.h>
#include<iostream.h>
#include<stdio.h>
class myattr{
	private:
		int sohieu;
	public:
		myattr(int sh=0)
		{sohieu=sh;}
		void display()
		{
		  cout<<"\n So hieu tep la: "<<sohieu;
		}

	     };//end class
class mydate{
	private:
		int d,m,y;
	public:
		mydate(int dd=1,int mm=1,int yy=1980)
		{
		  d=dd;m=mm;y=yy;
			}
		void in()
		{
		  cout<<d<<"-"<<m<<"-"<<y;
		  }
		int operator>(mydate &a)
		{
			if(y>a.y) return 1;
			    if((y==a.y)&&(m>a.m)) return 1;
				if((y==a.y)&&(m==a.m)&&(d>a.d)) return 1;
			else return 0;
		}



	};//end class
class mylife:public myattr,public mydate{
	private:
		char *name;
		int size;
	public:
		mylife(int sh=0,int dd=1,int mm=1,int yy=1980,char *n=NULL,int s=0):myattr(sh),mydate(dd,mm,yy)
		{
		  name=strdup(n);
		   size=s;
		}
		void display()
		 {  cout<<"\n ten tep:"<<name;
		   cout<<"\n Kich thuoc:"<<size;
		    myattr::display();
		    cout<<"\n thoi gian: ";mydate::in();
		 }
		    };
 //==================================================
 void main()
 {
   clrscr();
   mylife *a[4],*tg;
   int at,s,d,m,y;
   char ten[255];
   cout<<"\n Nhap thong tin cho tep:";
   for(int i=0;i<3;i++)
   {
   cout<<"\n Doi tuong thu "<<i+1<<" : ";
   cout<<"\n Ten tep:";fflush(stdin);gets(ten);
   cout<<"\n Kich thuoc tep:";cin>>s;
   cout<<"\n Nhapthoi gian:";cin>>d>>m>>y;
   cout<<"\n Nhap so hieu:";cin>>at;
   a[i]=new mylife[a,d,m,y,ten,s];
   }
  cout<<"\n ====Xem tep truoc khi sap xep:====";
   for(i=0;i<3;i++)
{cout<<"\n doi tuong thu"<<i+1<<" :";   a[i]->display();}
   for(i=0;i<2;i++)
     for(int j=i+1;j<3;j++)
      if(*a[i]>*a[j])
	{tg=a[i];a[i]=a[j];a[j]=tg;}
    cout<<"\n ===== Xem tep sau khi sap xep =====";
    for(i=0;i<3;i++){cout<<"\n doi tuong thu"<<i+1<<": "; a[i]->display();
    }
    getch();
    }