【发布时间】:2015-05-20 18:12:55
【问题描述】:
如果我有一个具有一个纯虚函数的类,那么所有函数都必须是纯虚函数吗?
#pragma once
class Shape {
private:
static int countShape;
public:
virtual float perimeter() const=0;
virtual float area() const=0;
virtual void print();
virtual void input();
void setCountShape();
int getCountShape()const{return countShape;};
Shape(void);
~Shape(void);
};
我尝试运行我的程序,它写了消息:
Error 3 error LNK2001: unresolved external symbol "public: virtual void __thiscall Shape::input(void)" (?input@Shape@@UAEXXZ)
Error 1 error LNK2001: unresolved external symbol "public: virtual void __thiscall Shape::print(void)" (?print@Shape@@UAEXXZ)
【问题讨论】:
-
否,但如果它不是纯虚拟的,则需要为其提供定义。
-
您应该阅读错误并且您会认识到:纯虚函数没有问题。
标签: c++ function pure-virtual