类的析构函数数量取决于重载函数的数量

时间:2014-07-28 03:38:48

标签: c++

在最近的一次采访中,我遇到了以下问题。

有一堂课Foo。其中有三个函数超载。

class Foo
{
public:
   int Sum(int,int);
   double Sum(int,int);
   int Sum(int,double);
};

问题是,必须为此课程编写多少个析构函数。

我想知道,如果这个问题是否正确(任何方式,必须随意写一个)。我相信这个问题是错的,面试官也问了同样的问题。他说这个问题是正确的。

这真的是一个正确的问题吗?

1 个答案:

答案 0 :(得分:0)

你对“正确的问题”的意思以及采访者所做的可能是不同的事情。你想知道这个问题是否合理,他回答说不,他没有因为解释这个问题而磕磕绊绊,而这个问题本来就令人困惑。

你可能应该说(忽略非法重载)类有一个析构函数,由编译器提供,编译器提供的一个很好,所以不需要手工编写。

如果这只是从包含其他类和继承的代码中获取的代码片段,或者任何成员函数是virtual,那么您应该讨论虚拟析构函数的优点和条件。