C++(2):virtual、explicit和template
C++继承 : 通过继承机制,可以利用已有的数据类型来定义新的数据类型。所定义的新的数据类型不仅拥有新定义的成员,而且还同时拥有旧的成员。我们称已存在的用来派生新类的类为基类,又称为父类。由已存在的类派生出的新类称为派生类,又称为子类。 C++继承分为三类: 公有继承 基类的公共成员和受保护成员在派生类中访问属性还是不变,在派生类中,只有基类的私有成员在派生类中不可直接访问 即派生类的访问权限:public不变、private不可见、protected不变。 私有继承 基类的公用成员和保护成员都以私人身份出现在派生类中,派生类中的其他成员可以直接访问基类的公共和保护成员 即派生类的访问权限:public和protected变为private 保护继承 基类的公用成员和保护成员都以保护身份出现在派生类中。 即派生类访问权限:public变成protected、protected不变 举个例子:比如在之前引入联合体的学校信息管理系统,在学校信息分为职工信息和学生信息,两者信息有相同的部分,也有不同的部分,我们把相同的部分作为基类,把两者不同的部分作为两个不同的派生类,这样就可以满足两种需求。 class information { public : information ( char a , char b , int c ) { name = a ; sex = b ; age =