首页 > 试题广场 >

请你说说虚函数和纯虚函数的区别

[问答题]
请你说说虚函数和纯虚函数的区别
首先是格式的不同,纯虚函数后面不是大括号而是=0;虚函数完成了函数实现,而纯虚函数没有。基类中纯虚函数没有具体意义,通过派生类对完成对纯虚函数的实现,具有纯虚函数的类为抽象类,抽象类不能实例化对象。虚函数完成了动态多态
发表于 2022-09-09 11:24:39 回复(0)
1、虚函数可以有具体的实现,纯虚函数没有具体实现 2、拥有纯虚函数的类称为抽象类,无法实例化 3、抽象类的派生类必须对抽象类的纯虚函数进行实现,否则派生类无法实例化 4、格式上的不同,虚函数的格式是virtual void func(){} 纯虚函数的格式是virtual void func()=0;
发表于 2023-07-12 16:51:46 回复(0)
1. 声明方式不同,虚函数 virtual void func(){} 纯虚函数 virtual void func() = 0 2. 父类虚函数有具体的实现,而纯虚函数父类没有具体的实现 3. 有纯虚函数的类不能被实例化 4. 子类必须实现父类的纯虚函数,否则也是抽象类,不能被实例化
发表于 2023-11-11 19:31:30 回复(0)
虚函数有函数体,纯虚函数没有函数体,函数 = 0
发表于 2023-08-11 20:32:11 回复(0)
纯虚函数一样可以用来实现多态,二者关键区别只是:1、基类是否需要具体实现函数定义。 2、基类能否实例化
发表于 2023-04-17 14:39:30 回复(0)
定义格式不同;虚函数可以有具体实现,纯虚函数没有具体实现;有纯虚函数的类不可以实例化,派生类必须实现纯虚函数才能实例化。
编辑于 2024-04-09 11:25:38 回复(0)
纯虚函数就是虚函数没有具体的实现 格式也不一样 虚函数大括号后面是=0;基类中的纯虚函数没有具体意义,有纯虚函数的类也是抽象类,不能实例化对象,如果派生类没有完全重写基类的虚函数它也是一个抽象类;虚函数是c++中用于实现多态得机制
发表于 2024-03-18 21:38:04 回复(0)
1. 作用:虚函数和纯虚函数都是为了实现面向对象编程中的多态的特性。对于子类来说,前者可以选择性覆写、后者必须覆写 2. 格式: =》 虚函数:virtual returnType functionName( parameter list) {} -- 有具体的实现,子类可以选择性覆写 => 纯虚函数:virtual returnTypr functionName(parameter list) = 0; -- 没有具体的实现,子类必须覆写
发表于 2023-11-11 09:36:55 回复(0)
虚函数可以有具体的实现,纯虚函数没有具体的实现。有纯虚函数的类不能实例化,派生类必须实现纯虚函数才可以实例化,否则也是抽象类。很多情况下,在基类中不能对虚函数给出具体的有意义的实现,就可以把它声明为纯虚函数,它的实现留给该基类的派生类去做。
发表于 2022-07-31 12:16:04 回复(0)