派生类的析构函数
#include<iostream>
using namespace std;
# include<string>
class Person
{public:
Person(char *Name, char Sex, int Age )
{ name = new char[strlen(Name)+1];
strcpy(name, Name); sex = Sex; age = Age;
cout << " The constructor of base class Person is called." << endl;
}
~Person( )
{ delete name;
cout << " The destructor of base class Person is called." << endl; }
protected:
char *name;
char sex;
int age;
};
class Student: public Person
{public:
Student(char *Name, char Sex, int Age, char *Id, char *Date, float Score): Person(Name, Sex, Age) //派生类构造函数
{ id = new char[strlen(Id)+1]; strcpy(id, Id);
date = new char[strlen(Date)+1]; strcpy(date, Date);
score = Score;
cout << " The constructor of derived class Student is called." << endl;
}
~Student( )
{ delete id; delete date;
cout << " The destructor of derived class Student is called." << endl;
}
protected:
char *id;
char *date;
float score;
};
int main( )
{ Student stu("Mary", 'F', 19, "20120101001", "2012.09.01", 680);
return 0;
}
#include<iostream>
using namespace std;
# include<string>
class Person
{public:
Person(char *Name, char Sex, int Age )
{ name = new char[strlen(Name)+1];
strcpy(name, Name); sex = Sex; age = Age;
cout << " The constructor of base class Person is called." << endl;
}
~Person( )
{ delete name;
cout << " The destructor of base class Person is called." << endl; }
protected:
char *name;
char sex;
int age;
};
class Student: public Person
{public:
Student(char *Name, char Sex, int Age, char *Id, char *Date, float Score): Person(Name, Sex, Age) //派生类构造函数
{ id = new char[strlen(Id)+1]; strcpy(id, Id);
date = new char[strlen(Date)+1]; strcpy(date, Date);
score = Score;
cout << " The constructor of derived class Student is called." << endl;
}
~Student( )
{ delete id; delete date;
cout << " The destructor of derived class Student is called." << endl;
}
protected:
char *id;
char *date;
float score;
};
int main( )
{ Student stu("Mary", 'F', 19, "20120101001", "2012.09.01", 680);
return 0;
}