最佳答案
在过去的几个星期里,有些关于 virtual
和 override
的问题一直困扰着我的大脑。
我了解到,当使用虚函数进行继承时,必须添加 virtual
,以便让编译器知道如何搜索正确的函数。
后来我还了解到,在 c + + 11中有一个新的关键字 -override
。现在我有点困惑了: < strong > 我需要在程序中同时使用虚拟关键字和重写关键字吗? 还是只使用其中一个关键字更好?
为了解释我自己-我的意思的代码示例:
class Base
{
public:
virtual void print() const = 0;
virtual void printthat() const = 0;
virtual void printit() const = 0;
};
class inhert : public Base
{
public:
// only virtual keyword for overriding.
virtual void print() const {}
// only override keyword for overriding.
void printthat() const override {}
// using both virtual and override keywords for overriding.
virtual void printit() const override {}
};
最好的方法是什么?