C/C++--two

面向对象 面向对象设计的三原则:封装、继承、多态。 (1)析构函数可以设置为virtual,为什么?   主要是因为多态的存在,例如一个父类指针指向一个子类对象,试想一下如果子类构造函数如果在堆中分配了内存,而析构其析构函数又不是virtual的,这个指针的静态类型是父类类型,那么撤销这个父类指针时,将只会调用父类的析构函数,而不会释放子类占据的内存,造成内存泄漏。 将父类的析构函数设置为virt
相关文章
相关标签/搜索
本站公众号
   欢迎关注本站公众号,获取更多信息