2 guku001 guku001 于 2016.02.02 10:34 提问

问个小问题:纯虚函数一定是虚函数吗??
c++

1.纯虚函数一定是虚函数吗?

## 2.void fun(int a) = 0; 这个声明得到的是纯虚函数吗?

3个回答

oyljerry
oyljerry   Ds   Rxr 2016.02.02 11:36

纯虚函数当然是虚函数,它可以理解为一种特殊的虚函数,就是子类必须要实现它,所以纯虚函数一般是用来作为接口定义,设计等。

guku001
guku001 void fun(int a) = 0; 这个不是纯虚函数吧?它没有virtual
接近 2 年之前 回复
91program
91program   Ds   Rxr 2016.02.02 11:22

纯虚函数声明成:
virtual float area()const=0;的形式即可。
一般形式:virtual 函数类型 函数名(形参表列)=0;
注意:纯虚函数没有函数体;
最后面的“=0“并不代表函数返回值为0,只是形式上的作用,告诉编译系统”这是纯虚函数”;
这是一个声明语句,最后应有分号。

纯虚函数后继可以实现功用,就不再是纯虚函数了。

guku001
guku001 谢谢!应该是书本说错了!
接近 2 年之前 回复
NK_test
NK_test   Rxr 2016.02.15 20:03

是的。并且有纯虚函数的类一定是抽象基类,不能定义对象,一定要被继承并且实现。

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!