• 2024-09-05虚析构和纯虚析构
    多态使用时,如果子类中有属性开辟到堆区,那么父类指针在释放时无法调用到子类的析构代码解决方式:将父类中的析构函数改为虚析构或者纯虚析构虚析构和纯虚析构共性:可以解决父类指针释放子类对象都需要有具体的函数实现虚析构和纯虚析构区别:如果是纯虚析构,该类属于抽象
  • 2024-07-11四、类和对象(五)
    1.多态的基本概念分为两类静态多态:函数重载和运算符重载属于,复用函数名动态多态:派生类和虚函数实现运行时多态区别静态多态的函数地址早绑定,编译阶段确定函数地址动态多态的函数地址晚绑定,运行阶段确定函数地址父类成员函数前面加virtual叫做虚函数,就会实现动态多态cl
  • 2024-06-06c++“二纯” 纯虚函数和纯虚析构
    首先给出这样一段概念:在C++中,当基类包含纯虚函数时,这些纯虚函数在基类中不需要(也不能)有定义。但是,如果基类有一个纯虚析构函数(即析构函数被声明为纯虚函数),那么情况就有些特殊了。纯虚析构函数需要在基类中有声明,但通常也需要在类外提供一个定义(尽管这个定义通常只包含析构函数