1:多重继承
基类的指针只能调用基类中定义的函数,不能调用派生类中定义的函数
dynamic_cast<派生类*>(基类的指针)
将基类的指针转换为派生类的指针
2:析构函数的作用是释放对象所占的内存
3:用一个统一的指针既能访问父类中的虚函数也能访问母类中的虚函数就要用到抽象类
4:模拟抽象类,为了实现一个统一的指针,我们可以再定义一个类,然后由这个类派生出父类和母类,再由父类和母类共同派生出子类
class Human
{
publci:
Human(){}
vritual ~Human(){}
virtual void smart(){}//接口
virtual void beautiful(){}//接口
};
5:一个虚函数初始化为零就变成了纯虚函数,这个虚函数没有任何功能的,你不能直接调用它,因为它是抽象的,在子类中必须为基类的所有纯虚函数赋与新的功能
6:抽象类:无任何的功能,不能定义一个抽象类的对象,抽象类创建出来的对象也是抽象的,可以定义一个指向抽象类的指针用来实现程序的多态性
基类的指针只能调用基类中定义的函数,不能调用派生类中定义的函数
dynamic_cast<派生类*>(基类的指针)
将基类的指针转换为派生类的指针
2:析构函数的作用是释放对象所占的内存
3:用一个统一的指针既能访问父类中的虚函数也能访问母类中的虚函数就要用到抽象类
4:模拟抽象类,为了实现一个统一的指针,我们可以再定义一个类,然后由这个类派生出父类和母类,再由父类和母类共同派生出子类
class Human
{
publci:
Human(){}
vritual ~Human(){}
virtual void smart(){}//接口
virtual void beautiful(){}//接口
};
5:一个虚函数初始化为零就变成了纯虚函数,这个虚函数没有任何功能的,你不能直接调用它,因为它是抽象的,在子类中必须为基类的所有纯虚函数赋与新的功能
6:抽象类:无任何的功能,不能定义一个抽象类的对象,抽象类创建出来的对象也是抽象的,可以定义一个指向抽象类的指针用来实现程序的多态性