析构函数可以是纯虚的吗?该怎么处理
析构函数可以是纯虚的吗?
C++标准有没有规定什么样的函数可以是纯虚的,什么样的不可以?
例如以下代码编译不过:
说是找不到X的析构函数体。
所以我提出这个问题,不知道语言标准里面有没有谈到?
------解决思路----------------------
想想就知道不可以了。
什么是纯虚函数? 纯虚函数的特点是什么? 纯虚函数的特点是没有函数实现
板构函数是什么?板构函数的特点是什么?板构函数的特点是必须要有函数实现
这二个一个是火一个是水,还需要做特别的规定吗?
------解决思路----------------------
的确不可以是纯虚的;原因是析构的时候会被调用(从而找不到函数地址)
C++标准有没有规定什么样的函数可以是纯虚的,什么样的不可以?
例如以下代码编译不过:
class X
{
public:
virtual ~X() = 0;
};
class Y : public X
{
public:
~Y(){}
};
int main(void)
{
Y y;
return 0;
}
说是找不到X的析构函数体。
所以我提出这个问题,不知道语言标准里面有没有谈到?
------解决思路----------------------
想想就知道不可以了。
什么是纯虚函数? 纯虚函数的特点是什么? 纯虚函数的特点是没有函数实现
板构函数是什么?板构函数的特点是什么?板构函数的特点是必须要有函数实现
这二个一个是火一个是水,还需要做特别的规定吗?
------解决思路----------------------
的确不可以是纯虚的;原因是析构的时候会被调用(从而找不到函数地址)