当父类派生出一个子类并且声明一个子类的对象时候,它将会调用父类的构造函数,然后调用当前类的构造函数来创建对象。
当释放子类对象时候,先调用当前类的析构函数,然后调用父类的析构函数。
析构函数与构造函数 区别
析构函数 :类名前面 加标识符 ~
构造函数 主要用来对象创建时候,给对象一些数据成员赋值,主要目的用来初始化对象。
析构函数 :功能主要用来释放一个对象的,在对象删除之前,用它来处理一些清理工作,它与构造函数功能相反。
子类隐藏父类的成员函数
如果子类定义了一个和父类一样的成员函数 ,子类对象调用就是调用子类中的成员函数。
虚函数概述
出现在不同的层次 中可以 出现名字、参数个数 和类型相同而功能不同的函数。
如果子类有父类相同原型的成员函数时,要想调用父类的成员函数,需要对父类重新引用调用。
虚函数 则可以解决子类与父类相同原型函数调用问题。
虚函数允许在派生类中重新定义与基类同名的函数,并且可以通过基类指针或者引用来访问基类和派生类的同名函数。
在类中 用 virtual 声明成员函数 为虚函数 。
C++中虚函数可以继承,当一个成员函数被声明为虚函数后,其派生类中同名函数都自动成为虚函数,但如果派生类没有覆盖基类的虚函数。
多态的体现
多态的体现主要在 虚函数上,只要有虚函数存在,对象类型 就会在程序运行时动态绑定,动态绑定的方法定义一个指向基类对象的指针变量,并且使它指向同一类族中·需要调用该函数的对象,通过该指针变量调用此虚函数。
网友评论