1.类型兼容性原则
在上一节的C++中的继承中介绍了什么是类型兼容性原则。所谓的类型兼容性原则是指子类公有继承自父类时,包含了父类的所有属性和方法,因此父类所能完成的功能,使用子类也可以替代完成,子类是一种特殊的父类。所以可以使用子类对象初始化父类对象,可以用父类指针指向子类对象,可以用父类引用来引用子类对象。
2.函数的重写
函数的发生在类的继承过程中,所谓的函数的重写是指在继承中,子类定义了与父类函数原型相同的函数,即定义了和父类中一样的函数。
3.类型兼容性原则遇上函数的重写
# include<iostream>using namespace std;/* 定义父类 */class Parent
{public: /* 定义print函数 */
void print()
{
cout << "Parent print()函数" << endl;
}
};/* 定义子类继承自父类,并重写父类的print函数 */class Child :public Parent
{public: /* 重写父类的print函数 */
void print()
{
cout << "Child print()函数" << endl;
}
};int main()
{
Child c; /* 调用子类对象的print函数,打印子类的print函数 */
c.print(); /* 通过使用作用域操作符调用父类的print函数,打印父类的print函数 */
c.Parent::print(); /* 当我们使用类型兼容性原则的时候,发现调用的函数是父类的print函数,这是符合编译器规则的 */
Parent p1 = c;
p1.print();
Parent *


