#include<iostream>
#include<string.h>
using namespace std;
class person
{
private:
char *name;
public:
person(const char *name)
{
name=new char;
strcpy(this->name, name);
}
~person( )
{
delete name;
cout<<"person::~person( ) is called"<<endl;
}
void showname( )
{
cout<<*name;
}
};
class date
{
private:
char *birth;
public:
date( )
{
}
date(const char *birth)
{
birth=new char;
strcpy(this->birth, birth);
}
~date( )
{
delete birth;
cout<<"date::~date( ) is called"<<endl;
}
void showbirth( )
{
cout<<*birth;
}
};
class student: public person
{
private:
date birthday;
public:
student(char *name, date birth):person(name)
{
birthday=birth;
}
~student( )
{
cout<<"student::~student( ) is called"<<endl;
}
void show( )
{
cout<<"student's name: ";
person::showname( );
cout<<'\t'<<"student's birth: ";
birthday.showbirth( );
}
};
class professor: public person
{
private:
date birthday;
public:
professor(char *name, date birth):person(name)
{
birthday=birth;
}
~professor( )
{
cout<<"professor::~professor( ) is called"<<endl;
}
void show( )
{
cout<<"professor's name: ";
person::showname( );
cout<<'\t'<<"professor's birth: ";
birthday.showbirth( );
}
};
int main( )
{
date sd("1993"), pd("1948");
student s("wangyu", sd);
professor p("zhaonan", pd);
s.show( );
p.show( );
return 0;
}
错误多多,请大神们指正