这点 發表於 2025-12-23 22:09:00

override

<p>override学过Java的小伙伴们应该不陌生,这个关键字就类似Java中的注解<code>@override</code></p>
<p>确保在子类中声明的重写函数与基类的虚函数有相同的签名,同时也明确表明将会重写基类的虚函数,这样就可以保证重写的虚函数的正确性,也提高了代码的可读性;</p>
<p>override和final一样这个关键字要写到方法的后面。</p>
<pre><code class="language-c++">#include &lt;iostream&gt;
using namespace std;

class Base {
public:
        virtual void test() {
                cout &lt;&lt; "dddd" &lt;&lt; endl;
        }
};
class Chile :public Base {
public:
        void test() {
                cout &lt;&lt; "Chile class...." &lt;&lt; endl;
        }
};
class GrandChile : public Chile {
public:
    //void test13() override{ //报错:使用override的成员函数没有可重写的内容。
    //}
        void test() override{
                cout &lt;&lt; "GrandChile class...." &lt;&lt; endl;
        }
};
int main() {
        system("pause");
        return 0;
}
</code></pre>
<p>就如上面的代码,如果加了<code>test13()</code>加了override就会报错,提示开发者这里不是重写,如果不加override,这里就会定义一个新的名为<code>test13()</code>的函数,和开发者的意愿不同。</p>
<p>override只是为了提高了程序的正确性,降低了出错的概率。</p><br><br>
来源:https://www.cnblogs.com/ggkx/p/19389343
頁: [1]
查看完整版本: override