以下代码错在哪儿啊?
请大家帮我看看这段代码错在哪里啊?
- C/C++ code
class Item_base{public: virtual void fcn() { }};class Disk_item: public Item_base{public: virtual void fcn()=0;};class Bulk_item: public Disk_item{};int main(){ // Disk_item d1; Bulk_item b1;}报错:
15_6_1.cpp: In function ‘int main()’:
15_6_1.cpp:26: error: cannot declare variable ‘b1’ to be of abstract type ‘Bulk_item’
15_6_1.cpp:20: note: because the following virtual functions are pure within ‘Bulk_item’:
15_6_1.cpp:16: note: virtual void Disk_item::fcn()
[解决办法]
virtual void fcn()=0;
这个纯虚函数是必须要被子类定义的。