#include <iostream>#include <string>using namespace std;// 基类class person{public:string name;int age;person(string name_, int age_);~person();void display();};// 重载(可以把这个函数写作class里面)// 重载符号 ::person::person(string name_, int age_){name = name_;age = age_;}person::~person(){cout << "Destroy person Class!" << endl;}void person::display(){cout << "name is: " << name << endl;cout << "age is: " << age << endl;}// 子类// 继承符号 :class student:public person{private:string school;public:// 父类构造函数有参数,此处必须显式调用父类的构造函数// 如果父类构造函数无参数,则此处不必显式调用父类构造函数student(string n, int a, string s):person(n, a){school = s;}~student(){cout << "Destroy student Class!" << endl;}void setSchool(string s){school = s;}void display(){cout << "name is: " << name << endl;cout << "age is: " << age << endl;cout << "school is: " << school << endl;}};int main(){// 实例化类,两种方式person dhh("dailaoban", 23);student* yt = new student("yt", 23, "ZJU");dhh.display();yt->display();yt->setSchool("ZheJiang University");yt->display();delete yt; // new - delete couple}
小总结:
- 继承使用符号:
:; - 重载使用符号:
::; - 实例化方式:非指针和指针;
