最赞回答 / 面具VS口罩
我觉得不要想太多会应用就好:VIRTUAL只需要加在父类里边(析构函数和同名成员函数)就好,析构函数前边加是为了防止没有释放子类对象的内存导致内存泄露,同名成员函数前加是为了父类实例化的对象指针能够指向子类数据成员。(这样基本包含了所有的点了)
2017-04-05
最新回答 / 景曼_0001
不是虚函数那就不存在于虚函数表中,至于虚函数表是否存在,取决于还有没有其余的虚函数(包括从父类继承来的虚函数)。至于父类与子类的虚函数如何存放,好像是子类的新的虚函数会添加在父类的虚函数表后面作为子类的虚函数表,如果我么记错的话,应该是这样。
2017-03-22
最赞回答 / 氵幻世丨逐月丿
因为是在circle中实例化了coordinate的对象了,在circle的析构函数中执行了coordinate的析构操作,所以是先析构circle
2017-03-20
最赞回答 / 你猜猜0618
抽象类无法实例化对象,仅仅是指不能直接实例化一个抽象类对象;但是使用父类指针指向子类这一行为实际上是实例化了一个子类对象,而子类对象并不是抽象类对象。就比如一个抽象类CanEat,它有一个Human这一子类继承。我们可以使用CanEat *p=new Human这一方式实例化一个Human对象,但不能使用CanEat *p=new CanEat这一方法。
2017-02-21